+ gint notifier_count;
+
+ /* The barrier waiting on this operation. Support for more than one
+ * barrier for a single async is not well-supported and should be avoided
+ * if possible. */
+ BlueSkyStoreAsync *barrier;
+
+ bluesky_time_hires start_time; /* Time operation was submitted. */
/* Support for notification lists. These are lists of one-shot functions which
* can be called when certain events--primarily, competed storage
/* Support for notification lists. These are lists of one-shot functions which
* can be called when certain events--primarily, competed storage
/* The abstraction layer for storage, allowing multiple implementations. */
typedef struct {
/* Create a new store instance and return a handle to it. */
/* The abstraction layer for storage, allowing multiple implementations. */
typedef struct {
/* Create a new store instance and return a handle to it. */
void bluesky_store_async_ref(BlueSkyStoreAsync *async);
void bluesky_store_async_unref(BlueSkyStoreAsync *async);
void bluesky_store_async_wait(BlueSkyStoreAsync *async);
void bluesky_store_async_ref(BlueSkyStoreAsync *async);
void bluesky_store_async_unref(BlueSkyStoreAsync *async);
void bluesky_store_async_wait(BlueSkyStoreAsync *async);
+void bluesky_block_touch(BlueSkyInode *inode, uint64_t i);
+void bluesky_block_fetch(BlueSkyFS *fs, BlueSkyBlock *block,
+ BlueSkyStoreAsync *barrier);
void bluesky_block_flush(BlueSkyFS *fs, BlueSkyBlock *block,
BlueSkyStoreAsync *barrier);
void bluesky_file_flush(BlueSkyInode *inode, BlueSkyStoreAsync *barrier);
void bluesky_block_flush(BlueSkyFS *fs, BlueSkyBlock *block,
BlueSkyStoreAsync *barrier);
void bluesky_file_flush(BlueSkyInode *inode, BlueSkyStoreAsync *barrier);