- for (int i = 0; i < log->pointers->len; i++) {
- BlueSkyCloudID id = g_array_index(log->pointers, BlueSkyCloudID, i);
- g_print(" ...checking reference %s...\n",
- bluesky_cloudlog_id_to_string(id));
- g_mutex_lock(log->fs->lock);
- BlueSkyCloudLog *log2
- = (BlueSkyCloudLog *)g_hash_table_lookup(log->fs->locations, &id);
- // TODO: refcount
- bluesky_cloudlog_fetch(log2);
- g_assert(log2 != NULL);
- bluesky_cloudlog_ref(log2);
- g_mutex_unlock(log->fs->lock);
- bluesky_cloudlog_serialize(log2, state);
- bluesky_cloudlog_unref(log2);
+ for (int i = 0; i < log->links->len; i++) {
+ BlueSkyCloudLog *ref = g_array_index(log->links,
+ BlueSkyCloudLog *, i);
+ if (ref != NULL)
+ bluesky_cloudlog_serialize(ref, state);