item = g_hash_table_lookup(fs->locations, &id);
if (item == NULL) {
item = bluesky_cloudlog_new(fs, &id);
+ bluesky_cloudlog_stats_update(item, 1);
bluesky_cloudlog_insert_locked(item);
} else {
bluesky_cloudlog_ref(item);
* Once that is done, we can fall through the case of remapping the data
* itself. */
if (log->type == LOGTYPE_UNKNOWN) {
+ bluesky_cloudlog_stats_update(log, -1);
BlueSkyRCStr *raw = NULL;
if ((log->location_flags | log->pending_write) & CLOUDLOG_JOURNAL) {
raw = bluesky_log_map_object(log->fs, -1, log->log_seq,
g_assert(raw != NULL);
bluesky_deserialize_cloudlog(log, raw->data, raw->len);
bluesky_string_unref(raw);
+ bluesky_cloudlog_stats_update(log, 1);
}
/* At this point all metadata should be available and we need only remap
g_mutex_lock(fs->lock);
InodeMapEntry *entry = bluesky_inode_map_lookup(fs->inode_map,
log->inum, 1);
+ bluesky_cloudlog_unref_delayed(entry->item);
entry->item = log;
bluesky_cloudlog_ref(entry->item);
g_mutex_unlock(fs->lock);
if (item_size > remaining_size)
break;
if (bluesky_crypt_block_decrypt(data, item_size, keys)) {
- g_print("Decrypted valid cloud log item at offset %zd\n",
- data - segment);
+ /* TODO: Mark block as valid. */
}
data += item_size;