]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
client: always pass UserPerm to rmsnap()
authorGreg Farnum <gfarnum@redhat.com>
Wed, 27 Jul 2016 21:17:53 +0000 (14:17 -0700)
committerGreg Farnum <gfarnum@redhat.com>
Wed, 31 Aug 2016 21:38:49 +0000 (14:38 -0700)
Signed-off-by: Greg Farnum <gfarnum@redhat.com>
src/client/Client.cc
src/client/Client.h
src/client/SyntheticClient.cc
src/client/SyntheticClient.h

index 5cba208bffa2730aa12a2b363c7de8bb9d3dd614..8ac2a98ef5410be48330299b1db77c616c63b19b 100644 (file)
@@ -9435,12 +9435,11 @@ int Client::mksnap(const char *relpath, const char *name, const UserPerm& perm)
   Inode *snapdir = open_snapdir(in.get());
   return _mkdir(snapdir, name, 0, perm);
 }
-int Client::rmsnap(const char *relpath, const char *name)
+int Client::rmsnap(const char *relpath, const char *name, const UserPerm& perms)
 {
   Mutex::Locker l(client_lock);
   filepath path(relpath);
   InodeRef in;
-  UserPerm perms = pick_my_perms();
   int r = path_walk(path, &in, perms);
   if (r < 0)
     return r;
index b6bd451390e6e8a3991a8c648a761f1300fca551..79c403dd452fab74c131262fdfd9f8f5387244dc 100644 (file)
@@ -1145,7 +1145,7 @@ public:
                       loff_t length, loff_t offset);
 
   int mksnap(const char *path, const char *name, const UserPerm& perm);
-  int rmsnap(const char *path, const char *name);
+  int rmsnap(const char *path, const char *name, const UserPerm& perm);
 
   // expose caps
   int get_caps_issued(int fd);
index 17d978d01b5b61c353deaee37e419d7e5d96b631..fa52f8ea849e73408ce594b4e4ad759cbfc952df 100644 (file)
@@ -907,7 +907,7 @@ int SyntheticClient::run()
        string base = get_sarg(0);
        string name = get_sarg(0);
        if (run_me())
-         rmsnap(base.c_str(), name.c_str());
+         rmsnap(base.c_str(), name.c_str(), perms);
        did_run_me();
       }
       break;
@@ -3414,9 +3414,9 @@ void SyntheticClient::mksnap(const char *base, const char *name, const UserPerm&
   client->mksnap(base, name, perms);
 }
 
-void SyntheticClient::rmsnap(const char *base, const char *name)
+void SyntheticClient::rmsnap(const char *base, const char *name, const UserPerm& perms)
 {
-  client->rmsnap(base, name);
+  client->rmsnap(base, name, perms);
 }
 
 void SyntheticClient::mksnapfile(const char *dir)
index 83d70fb144f228a3cfd2031b213e47e111e4813c..b4d3210fcf59de7b027da04af531ad5f6ac21f74 100644 (file)
@@ -271,7 +271,7 @@ class SyntheticClient {
   int chunk_file(string &filename);
 
   void mksnap(const char *base, const char *name, const UserPerm& perms);
-  void rmsnap(const char *base, const char *name);
+  void rmsnap(const char *base, const char *name, const UserPerm& perms);
   void mksnapfile(const char *dir);
 
 };