]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
client: switch _lookup() implementation to UserPerm
authorGreg Farnum <gfarnum@redhat.com>
Fri, 29 Jul 2016 22:27:19 +0000 (15:27 -0700)
committerGreg Farnum <gfarnum@redhat.com>
Wed, 21 Sep 2016 23:33:49 +0000 (16:33 -0700)
Signed-off-by: Greg Farnum <gfarnum@redhat.com>
src/client/Client.cc
src/client/Client.h

index 26aee3432811477026460bffbd5221ae548fb984..5f6e43b1dfe6346759a43d02848925e76a78f84f 100644 (file)
@@ -5860,12 +5860,11 @@ int Client::_do_lookup(Inode *dir, const string& name, int mask,
   return r;
 }
 
-int Client::_lookup(Inode *dir, const string& dname, int mask,
-                   InodeRef *target, int uid, int gid)
+int Client::_lookup(Inode *dir, const string& dname, int mask, InodeRef *target,
+                   const UserPerm& perms)
 {
   int r = 0;
   Dentry *dn = NULL;
-  UserPerm perms(uid, gid);
 
   if (!dir->is_dir()) {
     r = -ENOTDIR;
index 695dc108436d547a09007fdbec41f185f41895e7..60da3a639062bafbc22d6292356f65e62c533d9f 100644 (file)
@@ -779,10 +779,13 @@ private:
   //   call these with client_lock held!
   int _do_lookup(Inode *dir, const string& name, int mask, InodeRef *target,
                 const UserPerm& perms);
-  int _lookup(Inode *dir, const string& dname, int mask, InodeRef *target, int uid, int gid);
+
+  int _lookup(Inode *dir, const string& dname, int mask, InodeRef *target,
+             const UserPerm& perm);
   int _lookup(Inode *dir, const string& dname, int mask, InodeRef *target,
-             const UserPerm& perm) {
-    return _lookup(dir, dname, mask, target, perm.uid(), perm.gid());
+             int uid, int gid) {
+    UserPerm perms(uid, gid);
+    return _lookup(dir, dname, mask, target, perms);
   }
 
   int _link(Inode *in, Inode *dir, const char *name, const UserPerm& perm,