+ g_mutex_lock(fs->lock);
+ BlueSkyCloudLog *log_item;
+ log_item = g_hash_table_lookup(fs->locations, &header->id);
+ if (log_item == NULL) {
+ log_item = bluesky_cloudlog_new(fs, &header->id);
+ g_hash_table_insert(fs->locations, &log_item->id, log_item);
+ g_mutex_lock(log_item->lock);
+ } else {
+ bluesky_cloudlog_ref(log_item);
+ g_mutex_lock(log_item->lock);
+ }
+ g_mutex_unlock(fs->lock);
+ *objects = g_list_prepend(*objects, log_item);
+
+ bluesky_string_unref(log_item->data);
+ log_item->location_flags = CLOUDLOG_JOURNAL;
+ log_item->data = NULL;
+ log_item->log_seq = log_seq;
+ log_item->log_offset = offset + sizeof(struct log_header);
+ log_item->log_size = header->size;
+ g_mutex_unlock(log_item->lock);
+