Minor bugfix to pending store operation counts.
authorMichael Vrable <mvrable@cs.ucsd.edu>
Wed, 24 Mar 2010 21:57:23 +0000 (14:57 -0700)
committerMichael Vrable <mvrable@cs.ucsd.edu>
Wed, 24 Mar 2010 21:57:23 +0000 (14:57 -0700)
bluesky/store.c
nfs3/nfs3.c

index 50d7a21..48a69b4 100644 (file)
@@ -199,11 +199,13 @@ void bluesky_store_async_mark_complete(BlueSkyStoreAsync *async)
     bluesky_time_hires elapsed = bluesky_now_hires() - async->start_time;
     bluesky_time_hires latency = bluesky_now_hires() - async->exec_time;
 
-    g_mutex_lock(async->store->lock);
-    async->store->pending--;
-    if (async->store->pending == 0)
-        g_cond_broadcast(async->store->cond_idle);
-    g_mutex_unlock(async->store->lock);
+    if (async->op != STORE_OP_BARRIER) {
+        g_mutex_lock(async->store->lock);
+        async->store->pending--;
+        if (async->store->pending == 0)
+            g_cond_broadcast(async->store->cond_idle);
+        g_mutex_unlock(async->store->lock);
+    }
 
     async->status = ASYNC_COMPLETE;
     g_cond_broadcast(async->completion_cond);
index c5e4448..b479107 100644 (file)
@@ -1128,7 +1128,7 @@ void nfsproc3_commit_3_svc(commit3args *argp, RPCRequest *req)
     g_mutex_lock(inode->lock);
     encode_pre_wcc(&result.commit3res_u.resok.file_wcc, inode);
 
-    bluesky_inode_do_sync(inode);
+    //bluesky_inode_do_sync(inode);
 
     result.commit3res_u.resok.file_wcc.after.present = TRUE;
     encode_fattr3(&result.commit3res_u.resok.file_wcc.after.post_op_attr_u.attributes, inode);