]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
os/kstore: we have flush_txns is to make sure read after write for the same object... 8218/head
authorJames Liu <james.liu@ssi.samsung.com>
Fri, 18 Mar 2016 17:39:44 +0000 (10:39 -0700)
committerJames Liu <james.liu@ssi.samsung.com>
Fri, 18 Mar 2016 17:39:44 +0000 (10:39 -0700)
transaction. However, since we did not call STATE_FINISHING at all, The _txf_finish will never be called and flush_txns of object will never be removed.
It will make the read on the same object hanging there forever. We will combine KV_DONE and STATE_FINISHING.

Signed-off-by: James Liu <james.liu@ssi.samsung.com>
src/os/kstore/KStore.cc [changed mode: 0644->0755]

old mode 100644 (file)
new mode 100755 (executable)
index a2250d8..3c36b5c
@@ -2204,7 +2204,7 @@ void KStore::_txc_state_proc(TransContext *txc)
     case TransContext::STATE_KV_DONE:
       txc->log_state_latency(logger, l_kstore_state_kv_done_lat);
       txc->state = TransContext::STATE_FINISHING;
-      break;
+      // ** fall-thru **
 
     case TransContext::TransContext::STATE_FINISHING:
       txc->log_state_latency(logger, l_kstore_state_finishing_lat);