]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
librados: set the flag CEPH_OSD_FLAG_FULL_TRY of Op in the right place. 14193/head
authorPan Liu <liupan1111@gmail.com>
Tue, 28 Mar 2017 14:16:15 +0000 (22:16 +0800)
committerPan Liu <liupan1111@gmail.com>
Tue, 28 Mar 2017 14:16:15 +0000 (22:16 +0800)
Signed-off-by: Pan Liu <liupan1111@gmail.com>
src/osdc/Objecter.cc

index d45e4c45fb0ab139582c08e8908213e764b90f14..15968dd19b88507d1ecf1f78b129cedfaa1f0afb 100644 (file)
@@ -2352,6 +2352,10 @@ void Objecter::_op_submit(Op *op, shunique_lock& sul, ceph_tid_t *ptid)
 
   assert(op->target.flags & (CEPH_OSD_FLAG_READ|CEPH_OSD_FLAG_WRITE));
 
+  if (osdmap_full_try) {
+    op->target.flags |= CEPH_OSD_FLAG_FULL_TRY;
+  }
+
   bool need_send = false;
 
   if ((op->target.flags & CEPH_OSD_FLAG_WRITE) &&
@@ -3063,9 +3067,6 @@ MOSDOp *Objecter::_prepare_osd_op(Op *op)
   if (!honor_osdmap_full)
     flags |= CEPH_OSD_FLAG_FULL_FORCE;
 
-  if (osdmap_full_try)
-    flags |= CEPH_OSD_FLAG_FULL_TRY;
-
   op->target.paused = false;
   op->stamp = ceph::mono_clock::now();