X-Git-Url: http://git.vrable.net/?a=blobdiff_plain;ds=sidebyside;f=bluesky%2Ffile.c;h=f7e8fcac894ffdc125a8400243ad055b17f79062;hb=a4e456f91da9819e5a1517d4e505816bb4aa1007;hp=9f4d980b4d52419a301f356a3f93b9314d39bec8;hpb=6443fe537efa35cdad192b2d35ea0398cce56c17;p=bluesky.git diff --git a/bluesky/file.c b/bluesky/file.c index 9f4d980..f7e8fca 100644 --- a/bluesky/file.c +++ b/bluesky/file.c @@ -182,6 +182,11 @@ void bluesky_block_fetch(BlueSkyFS *fs, BlueSkyBlock *block) block->type = BLUESKY_BLOCK_CACHED; } +static void finished(gpointer a, gpointer b) +{ + g_print("Barrier completed!\n"); +} + /* Write the given block to cloud-backed storage and mark it clean. */ void bluesky_block_flush(BlueSkyFS *fs, BlueSkyBlock *block) { @@ -207,6 +212,13 @@ void bluesky_block_flush(BlueSkyFS *fs, BlueSkyBlock *block) g_free(block->ref); block->ref = name; + BlueSkyStoreAsync *barrier = bluesky_store_async_new(fs->store); + barrier->op = STORE_OP_BARRIER; + bluesky_store_add_barrier(barrier, async); + bluesky_store_async_add_notifier(barrier, finished, NULL); + bluesky_store_async_submit(barrier); + bluesky_store_async_unref(barrier); + /* block->type = BLUESKY_BLOCK_CACHED; */ bluesky_string_unref(block->data); block->data = NULL;