X-Git-Url: http://git.vrable.net/?a=blobdiff_plain;f=bluesky%2Finode.c;h=fe68328e510671a53ac99c9b01e70b2849698153;hb=de73632892d6bd009b290426253bdbe41d8844f7;hp=b4b363c71030dd13a34437051ca3b1fc2531ad35;hpb=52a6a600573a0483ea1aa99ec018e649299ea151;p=bluesky.git diff --git a/bluesky/inode.c b/bluesky/inode.c index b4b363c..fe68328 100644 --- a/bluesky/inode.c +++ b/bluesky/inode.c @@ -95,6 +95,9 @@ BlueSkyFS *bluesky_new_fs(gchar *name) fs->log_state = g_new0(BlueSkyCloudLogState, 1); fs->log_state->data = g_string_new(""); + fs->log_state->latest_cleaner_seq_seen = -1; + fs->log_state->uploads_pending_lock = g_mutex_new(); + fs->log_state->uploads_pending_cond = g_cond_new(); bluesky_cloudlog_threads_init(fs); fs->inode_fetch_thread_pool = g_thread_pool_new(inode_fetch_task, NULL, @@ -131,6 +134,8 @@ BlueSkyFS *bluesky_init_fs(gchar *name, BlueSkyStore *store, bluesky_inode_do_sync(root); } + bluesky_cleaner_thread_launch(fs); + return fs; } @@ -359,6 +364,8 @@ static void inode_fetch_task(gpointer a, gpointer b) { BlueSkyInode *inode = (BlueSkyInode *)a; + bluesky_profile_set((BlueSkyProfile *)inode->private_data); + BlueSkyCloudLog *item = inode->committed_item; inode->committed_item = NULL; g_print("Completing fetch of inode %"PRIu64"...\n", inode->inum); @@ -404,5 +411,6 @@ void bluesky_inode_fetch(BlueSkyFS *fs, uint64_t inum) bluesky_cloudlog_ref(entry->item); bluesky_insert_inode(fs, inode); + inode->private_data = bluesky_profile_get(); g_thread_pool_push(fs->inode_fetch_thread_pool, inode, NULL); }