X-Git-Url: http://git.vrable.net/?a=blobdiff_plain;f=bluesky%2Fbluesky-private.h;h=5a55b797134d3cd4eab35b6ecb27b0dc778cd30b;hb=7589a41dc9e5b1f8b9f622be0c2970b3c697ed83;hp=5e7ed2fec4326fc1484ee51aa3fe143f54df7d53;hpb=207d6851cd0b6d4a5fb1ebfd13fc131ca935c364;p=bluesky.git diff --git a/bluesky/bluesky-private.h b/bluesky/bluesky-private.h index 5e7ed2f..5a55b79 100644 --- a/bluesky/bluesky-private.h +++ b/bluesky/bluesky-private.h @@ -198,7 +198,7 @@ void bluesky_store_add_barrier(BlueSkyStoreAsync *barrier, void bluesky_inode_start_sync(BlueSkyInode *inode); -void bluesky_block_touch(BlueSkyInode *inode, uint64_t i); +void bluesky_block_touch(BlueSkyInode *inode, uint64_t i, gboolean preserve); void bluesky_block_fetch(BlueSkyInode *inode, BlueSkyBlock *block, BlueSkyStoreAsync *barrier); void bluesky_block_flush(BlueSkyInode *inode, BlueSkyBlock *block, @@ -329,6 +329,10 @@ struct BlueSkyCloudLogState { GSList *writeback_list; // Items which are being serialized right now GList *pending_segments; // Segments which are being uploaded now + int uploads_pending; // Count of uploads in progress, not completed + GMutex *uploads_pending_lock; + GCond *uploads_pending_cond; + /* What is the most recent sequence number written by the cleaner which we * have processed and incorporated into our own log? This gets * incorporated into the version vector written out with our checkpoint @@ -353,6 +357,7 @@ void bluesky_cloudlog_insert_locked(BlueSkyCloudLog *log); BlueSkyCloudLog *bluesky_cloudlog_get(BlueSkyFS *fs, BlueSkyCloudID id); void bluesky_cloudlog_prefetch(BlueSkyCloudLog *log); void bluesky_cloudlog_fetch(BlueSkyCloudLog *log); +void bluesky_cloudlog_background_fetch(BlueSkyCloudLog *item); BlueSkyCloudPointer bluesky_cloudlog_serialize(BlueSkyCloudLog *log, BlueSkyFS *fs); void bluesky_cloudlog_flush(BlueSkyFS *fs);