* storage backends and in other places. */
typedef struct {
gint refcount;
- gpointer data;
+ gchar *data;
gsize len;
} BlueSkyRCStr;
typedef struct {
BlueSkyBlockType type;
gchar *ref; /* Name of data block in the backing store */
- gchar *data; /* Pointer to data in memory */
+ BlueSkyRCStr *data; /* Pointer to data in memory if cached */
} BlueSkyBlock;
BlueSkyFS *bluesky_new_fs(gchar *name);
void bluesky_directory_dump(BlueSkyInode *dir);
void bluesky_block_touch(BlueSkyInode *inode, uint64_t i);
+void bluesky_block_fetch(BlueSkyFS *fs, BlueSkyBlock *block);
void bluesky_block_flush(BlueSkyFS *fs, BlueSkyBlock *block);
void bluesky_file_truncate(BlueSkyInode *inode, uint64_t size);
void bluesky_file_write(BlueSkyInode *inode, uint64_t offset,