void bluesky_serialize_superblock(GString *out, BlueSkyFS *fs);
BlueSkyFS *bluesky_deserialize_superblock(const gchar *buf);
void bluesky_serialize_inode(GString *out, BlueSkyInode *inode);
-BlueSkyInode *bluesky_deserialize_inode(BlueSkyFS *fs, const gchar *buf);
+gboolean bluesky_deserialize_inode(BlueSkyInode *inode, const gchar *buf);
/* Storage layer. Requests can be performed asynchronously, so these objects
* help keep track of operations in progress. */
int result; /* Result code; 0 for success. */
struct BlueSkyNotifierList *notifiers;
+ bluesky_time_hires start_time; /* Time operation was submitted. */
+
gpointer store_private; /* For use by the storage implementation */
} BlueSkyStoreAsync;
void bluesky_inode_start_sync(BlueSkyInode *inode, BlueSkyStoreAsync *barrier);
+void bluesky_block_flush(BlueSkyFS *fs, BlueSkyBlock *block,
+ BlueSkyStoreAsync *barrier);
+void bluesky_file_flush(BlueSkyInode *inode, BlueSkyStoreAsync *barrier);
+void bluesky_file_drop_cached(BlueSkyInode *inode);
+
#ifdef __cplusplus
}
#endif