Merge git+ssh://c09-44.sysnet.ucsd.edu/scratch/bluesky
[bluesky.git] / bluesky / cloudlog.c
index 9d5333f..e868d99 100644 (file)
@@ -259,6 +259,7 @@ BlueSkyCloudLog *bluesky_cloudlog_get(BlueSkyFS *fs, BlueSkyCloudID id)
     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);
@@ -391,6 +392,7 @@ BlueSkyCloudPointer bluesky_cloudlog_serialize(BlueSkyCloudLog *log,
         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);
@@ -531,8 +533,7 @@ void bluesky_cloudlog_decrypt(char *segment, size_t len, BlueSkyCryptKeys *keys)
         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;