X-Git-Url: http://git.vrable.net/?a=blobdiff_plain;f=bluesky%2Finode.c;h=59779550b402be03b20321f9a2634e7de6d09eff;hb=c4eb30d2e6e577e424b83d4b5180d48af74e3009;hp=1c89c29f39298eed5f886704b2b667fd41ea365b;hpb=64ad40ff2dbb8df3f2599ee7487ad2a1c7f8592e;p=bluesky.git diff --git a/bluesky/inode.c b/bluesky/inode.c index 1c89c29..5977955 100644 --- a/bluesky/inode.c +++ b/bluesky/inode.c @@ -129,8 +129,11 @@ void bluesky_inode_ref(BlueSkyInode *inode) void bluesky_inode_unref(BlueSkyInode *inode) { if (g_atomic_int_dec_and_test(&inode->refcount)) { - g_print("Reference count for inode %"PRIu64" dropped to zero.\n", - inode->inum); + if (bluesky_verbose) { + g_log("bluesky/inode", G_LOG_LEVEL_DEBUG, + "Reference count for inode %"PRIu64" dropped to zero.", + inode->inum); + } /* Sanity check: Is the inode clean? */ if (inode->change_commit < inode->change_count @@ -322,32 +325,45 @@ void bluesky_inode_do_sync(BlueSkyInode *inode) BlueSkyStoreAsync *barrier = bluesky_store_async_new(inode->fs->store); barrier->op = STORE_OP_BARRIER; - g_log("bluesky/inode", G_LOG_LEVEL_DEBUG, - "Synchronous writeback for inode %"PRIu64"...", inode->inum); + if (bluesky_verbose) { + g_log("bluesky/inode", G_LOG_LEVEL_DEBUG, + "Synchronous writeback for inode %"PRIu64"...", inode->inum); + } bluesky_inode_start_sync(inode, barrier); bluesky_store_async_submit(barrier); bluesky_store_async_wait(barrier); bluesky_store_async_unref(barrier); - g_log("bluesky/inode", G_LOG_LEVEL_DEBUG, - "Writeback for inode %"PRIu64" complete", inode->inum); + if (bluesky_verbose) { + g_log("bluesky/inode", G_LOG_LEVEL_DEBUG, + "Writeback for inode %"PRIu64" complete", inode->inum); + } } static void complete_inode_fetch(BlueSkyStoreAsync *async, BlueSkyInode *inode) { - g_print("Completing fetch of inode %"PRIu64"...\n", inode->inum); + if (bluesky_verbose) { + g_log("bluesky/inode", G_LOG_LEVEL_DEBUG, + "Completing fetch of inode %"PRIu64"...", inode->inum); + } if (async->result != 0 || !bluesky_deserialize_inode(inode, async->data->data)) { - g_print(" failed to load inode, cleaning up\n"); + if (bluesky_verbose) { + g_log("bluesky/inode", G_LOG_LEVEL_DEBUG, + " failed to load inode, cleaning up"); + } g_mutex_lock(inode->fs->lock); g_hash_table_remove(inode->fs->inodes, &inode->inum); + bluesky_list_unlink(&inode->fs->accessed_list, inode->accessed_list); + inode->accessed_list = NULL; g_mutex_unlock(inode->fs->lock); bluesky_inode_unref(inode); } inode->access_time = bluesky_get_current_time(); g_mutex_lock(inode->fs->lock); + bluesky_list_unlink(&inode->fs->accessed_list, inode->accessed_list); inode->accessed_list = bluesky_list_prepend(&inode->fs->accessed_list, inode); g_mutex_unlock(inode->fs->lock); @@ -366,7 +382,7 @@ void bluesky_inode_fetch(BlueSkyFS *fs, uint64_t inum) sprintf(key, "inode-%016"PRIx64, inum); BlueSkyInode *inode = bluesky_new_inode(inum, fs, BLUESKY_PENDING); - i->change_count = 0; + inode->change_count = 0; bluesky_inode_ref(inode); // Extra ref held by fetching process g_mutex_lock(inode->lock); bluesky_insert_inode(fs, inode); @@ -399,5 +415,5 @@ void bluesky_superblock_flush(BlueSkyFS *fs) bluesky_store_async_submit(async); bluesky_store_async_unref(async); - bluesky_store_sync(fs->store); + //bluesky_store_sync(fs->store); }