]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mds: clear aborted flag before rollback slave requests
authorYan, Zheng <zheng.z.yan@intel.com>
Fri, 2 May 2014 02:43:02 +0000 (10:43 +0800)
committerYan, Zheng <zheng.z.yan@intel.com>
Tue, 6 May 2014 23:10:16 +0000 (07:10 +0800)
There is a special case that the MDRequest needs to be preserved after
rolling back slave rename. The preserved MDRequest will be used later.

Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
src/mds/MDCache.cc

index c10d52a3980f0222c258658f16596d51270b2279..82fb44242c665a207ceeb4818b0dd6f003143a78 100644 (file)
@@ -8761,7 +8761,9 @@ void MDCache::request_finish(MDRequestRef& mdr)
   if (mdr->has_more() && mdr->more()->slave_commit) {
     Context *fin = mdr->more()->slave_commit;
     mdr->more()->slave_commit = 0;
-    fin->complete(mdr->aborted ? -1 : 0);   // this must re-call request_finish.
+    int ret = mdr->aborted ? -1 : 0;
+    mdr->aborted = false;
+    fin->complete(ret);   // this must re-call request_finish.
     return; 
   }