Fixes for journal replay, and drop the "superblock" cloud item.
[bluesky.git] / bluesky / inode.c
index 7560010..00e1142 100644 (file)
@@ -99,21 +99,6 @@ BlueSkyFS *bluesky_new_fs(gchar *name)
 
 BlueSkyFS *bluesky_init_fs(gchar *name, BlueSkyStore *store)
 {
-    BlueSkyRCStr *data = bluesky_store_get(store, "superblock");
-    if (data != NULL) {
-        BlueSkyFS *fs = bluesky_deserialize_superblock(data->data);
-        if (fs != NULL) {
-            fs->store = store;
-            fs->log = bluesky_log_new("journal");
-            fs->log->fs = fs;
-            g_print("Loaded filesystem superblock\n");
-            g_free(fs->name);
-            fs->name = g_strdup(name);
-            return fs;
-        }
-        bluesky_string_unref(data);
-    }
-
     g_print("Initializing fresh filesystem\n");
     BlueSkyFS *fs = bluesky_new_fs(name);
     fs->store = store;
@@ -130,7 +115,6 @@ BlueSkyFS *bluesky_init_fs(gchar *name, BlueSkyStore *store)
     bluesky_replay(fs);
 
     bluesky_inode_do_sync(root);
-    bluesky_superblock_flush(fs);
 
     return fs;
 }
@@ -227,8 +211,6 @@ uint64_t bluesky_fs_alloc_inode(BlueSkyFS *fs)
     inum = fs->next_inum;
     fs->next_inum++;
 
-    bluesky_superblock_flush(fs);
-
     return inum;
 }
 
@@ -418,22 +400,3 @@ void bluesky_inode_fetch(BlueSkyFS *fs, uint64_t inum)
 
     bluesky_store_async_unref(async);
 }
-
-/* Synchronize filesystem superblock to stable storage. */
-void bluesky_superblock_flush(BlueSkyFS *fs)
-{
-#if 0
-    GString *buf = g_string_new("");
-    bluesky_serialize_superblock(buf, fs);
-    BlueSkyRCStr *data = bluesky_string_new_from_gstring(buf);
-
-    BlueSkyStoreAsync *async = bluesky_store_async_new(fs->store);
-    async->op = STORE_OP_PUT;
-    async->key = g_strdup("superblock");
-    async->data = data;
-    bluesky_store_async_submit(async);
-    bluesky_store_async_unref(async);
-
-    //bluesky_store_sync(fs->store);
-#endif
-}