]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/client/MetaRequest.h
update source to Ceph Pacific 16.2.2
[ceph.git] / ceph / src / client / MetaRequest.h
index 611d8e5d95397b3798e00bda0c5d58d1cc00d5bf..db134a705832c9de039eedf53e9b5eb5e862d691 100644 (file)
@@ -29,6 +29,7 @@ public:
   utime_t  op_stamp;
   ceph_mds_request_head head;
   filepath path, path2;
+  std::string alternate_name;
   bufferlist data;
   int inode_drop; //the inode caps this operation will drop
   int inode_unless; //unless we have these caps already
@@ -169,6 +170,7 @@ public:
   void set_retry_attempt(int a) { head.num_retry = a; }
   void set_filepath(const filepath& fp) { path = fp; }
   void set_filepath2(const filepath& fp) { path2 = fp; }
+  void set_alternate_name(std::string an) { alternate_name = an; }
   void set_string2(const char *s) { path2.set_path(std::string_view(s), 0); }
   void set_caller_perms(const UserPerm& _perms) {
     perms.shallow_copy(_perms);
@@ -199,6 +201,7 @@ public:
   }
   bool auth_is_best() {
     if ((head.op & CEPH_MDS_OP_WRITE) || head.op == CEPH_MDS_OP_OPEN ||
+        (head.op == CEPH_MDS_OP_GETATTR && (head.args.getattr.mask & CEPH_STAT_RSTAT)) ||
        head.op == CEPH_MDS_OP_READDIR || send_to_auth) 
       return true;
     return false;