]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
osd: add the RWORDERED flag when the client need it
authormyoungwon oh <omwmw@sk.com>
Wed, 24 May 2017 01:17:19 +0000 (10:17 +0900)
committermyoungwon oh <omwmw@sk.com>
Wed, 24 May 2017 01:17:19 +0000 (10:17 +0900)
Signed-off-by: Myoungwon Oh omwmw@sk.com
Signed-off-by: Sage Weil sage@redhat.com
src/osd/PrimaryLogPG.cc

index 9a5adfb572d608d15d7661b64c8b6173c2aefae2..e41e105d3ef71c93438fa1b9276ce82221015a6d 100644 (file)
@@ -2887,6 +2887,9 @@ void PrimaryLogPG::do_proxy_write(OpRequestRef op, const hobject_t& missing_oid,
   }
 
   unsigned flags = CEPH_OSD_FLAG_IGNORE_CACHE | CEPH_OSD_FLAG_IGNORE_OVERLAY;
+  if (!(op->may_write() || op->may_cache())) {
+    flags |= CEPH_OSD_FLAG_RWORDERED;
+  }
   dout(10) << __func__ << " Start proxy write for " << *m << dendl;
 
   ProxyWriteOpRef pwop(std::make_shared<ProxyWriteOp>(op, soid, m->ops, m->get_reqid()));