#include <glib.h>
#include <string.h>
-#include "bluesky.h"
+#include "bluesky-private.h"
/* Core filesystem. Different proxies, such as the NFSv3 one, interface to
* this, but the core actually tracks the data which is stored. So far we just
{
BlueSkyInode *inode = NULL;
+ if (inum == 0) {
+ return NULL;
+ }
+
g_mutex_lock(fs->lock);
inode = (BlueSkyInode *)g_hash_table_lookup(fs->inodes, &inum);
{
GString *buf = g_string_new("");
bluesky_serialize_inode(buf, inode);
-
- gsize len = buf->len;
- BlueSkyRCStr *data = bluesky_string_new(g_string_free(buf, FALSE), len);
+ BlueSkyRCStr *data = bluesky_string_new_from_gstring(buf);
char key[64];
sprintf(key, "inode-%016"PRIx64, inode->inum);
{
GString *buf = g_string_new("");
bluesky_serialize_superblock(buf, fs);
+ BlueSkyRCStr *data = bluesky_string_new_from_gstring(buf);
g_print("Syncing superblock...\n");
- gsize len = buf->len;
- BlueSkyRCStr *data = bluesky_string_new(g_string_free(buf, FALSE), len);
bluesky_store_put(fs->store, "superblock", data);
}
-