]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
client/MetaRequest: optimize func can_forward/auth_is_best. 5962/head
authorJianpeng Ma <jianpeng.ma@intel.com>
Thu, 17 Sep 2015 03:14:31 +0000 (11:14 +0800)
committerJianpeng Ma <jianpeng.ma@intel.com>
Thu, 17 Sep 2015 03:14:31 +0000 (11:14 +0800)
Signed-off-by: Jianpeng Ma <jianpeng.ma@intel.com>
src/client/MetaRequest.h

index bb624b297ac60f6658ab32795d3551f01cc3d6db..660a88a9ac966ca630f2d9e3e29e6b06b26533ea 100644 (file)
@@ -170,17 +170,13 @@ public:
       (head.op == CEPH_MDS_OP_OPEN && (head.args.open.flags & (O_CREAT|O_TRUNC)));
   }
   bool can_forward() {
-    if (is_write() ||
-       head.op == CEPH_MDS_OP_OPEN ||   // do not forward _any_ open request.
-       head.op == CEPH_MDS_OP_CREATE)   // do not forward _any_ open request.
+    if ((head.op & CEPH_MDS_OP_WRITE) ||
+       head.op == CEPH_MDS_OP_OPEN)   // do not forward _any_ open request.
       return false;
     return true;
   }
   bool auth_is_best() {
-    if (is_write()) 
-      return true;
-    if (head.op == CEPH_MDS_OP_OPEN ||
-       head.op == CEPH_MDS_OP_CREATE ||
+    if ((head.op & CEPH_MDS_OP_WRITE) || head.op == CEPH_MDS_OP_OPEN ||
        head.op == CEPH_MDS_OP_READDIR) 
       return true;
     return false;