X-Git-Url: http://git.vrable.net/?a=blobdiff_plain;f=bluesky%2Ffile.c;h=9f4d980b4d52419a301f356a3f93b9314d39bec8;hb=6443fe537efa35cdad192b2d35ea0398cce56c17;hp=f9f6444374fbad11744162c8806aba81ee3418c4;hpb=c6d5eb1086d5da2a2e7548c5ce3b5efa9ba76f0c;p=bluesky.git diff --git a/bluesky/file.c b/bluesky/file.c index f9f6444..9f4d980 100644 --- a/bluesky/file.c +++ b/bluesky/file.c @@ -215,3 +215,14 @@ void bluesky_block_flush(BlueSkyFS *fs, BlueSkyBlock *block) g_checksum_free(csum); //bluesky_string_unref(data); } + +/* Flush all blocks in a file to stable storage. */ +void bluesky_file_flush(BlueSkyInode *inode) +{ + g_return_if_fail(inode->type == BLUESKY_REGULAR); + + for (int i = 0; i < inode->blocks->len; i++) { + BlueSkyBlock *b = &g_array_index(inode->blocks, BlueSkyBlock, i); + bluesky_block_flush(inode->fs, b); + } +}