X-Git-Url: http://git.vrable.net/?a=blobdiff_plain;f=bluesky%2Fbluesky-private.h;h=117f1081db7021d6788701467bc73b08dd6d2fd4;hb=81fe3470ff3b9d4d1143fcdfca8bb7b8ace70b51;hp=be7a2d349e25b66f38efc727b738ac7ed1b58bf1;hpb=3361e337c993f58adefddbf52621e5197229bb84;p=bluesky.git diff --git a/bluesky/bluesky-private.h b/bluesky/bluesky-private.h index be7a2d3..117f108 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 @@ -433,7 +437,10 @@ void bluesky_replay(BlueSkyFS *fs); /* Used to track log segments that are being written to the cloud. */ typedef struct { - BlueSkyRCStr *data; + BlueSkyFS *fs; + char *key; /* File name for log segment in backend */ + GString *raw_data; /* Data before encryption */ + BlueSkyRCStr *data; /* Data after encryption */ GSList *items; GMutex *lock; GCond *cond;