]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
uclient: mksnap/rmsnap via mkdir/rmdir
authorSage Weil <sage@newdream.net>
Fri, 3 Apr 2009 22:00:20 +0000 (15:00 -0700)
committerSage Weil <sage@newdream.net>
Fri, 3 Apr 2009 22:00:31 +0000 (15:00 -0700)
src/client/Client.cc
src/client/Client.h

index a283327f237d1759f4cd32e2863f4970224f11d5..5cf86f4d49f8575b7a06b405da3f3d076f946a0e 100644 (file)
@@ -4087,7 +4087,8 @@ int Client::mksnap(const char *relpath, const char *name)
   int r = path_walk(path, &in);
   if (r < 0)
     return r;
-  return _mksnap(in, name);
+  Inode *snapdir = open_snapdir(in);
+  return _mkdir(snapdir, name, 0);
 }
 int Client::rmsnap(const char *relpath, const char *name)
 {
@@ -4097,42 +4098,8 @@ int Client::rmsnap(const char *relpath, const char *name)
   int r = path_walk(path, &in);
   if (r < 0)
     return r;
-  return _rmsnap(in, name);
-}
-
-
-int Client::_mksnap(Inode *dir, const char *name, int uid, int gid)
-{
-  MClientRequest *req = new MClientRequest(CEPH_MDS_OP_MKSNAP);
-  filepath path;
-  dir->make_path(path);
-  req->set_filepath(path);
-  req->set_string2(name);
-
-  MClientReply *reply = make_request(req, uid, gid);
-  int res = reply->get_result();
-  delete reply;
-
-  trim_cache();
-  dout(3) << "mksnap(" << path << ", '" << name << "'\") = " << res << dendl;
-  return res;
-}
-
-int Client::_rmsnap(Inode *dir, const char *name, int uid, int gid)
-{
-  MClientRequest *req = new MClientRequest(CEPH_MDS_OP_RMSNAP);
-  filepath path;
-  dir->make_path(path);
-  req->set_filepath(path);
-  req->set_string2(name);
-
-  MClientReply *reply = make_request(req, uid, gid);
-  int res = reply->get_result();
-  delete reply;
-
-  trim_cache();
-  dout(3) << "rmsnap(" << path << ", '" << name << "'\") = " << res << dendl;
-  return res;
+  Inode *snapdir = open_snapdir(in);
+  return _rmdir(snapdir, name);
 }
 
 
index 3dd8f9d5e3e2616425274104381851241322123c..16b09663bec3d7bda5022fc28f9c76eb174af823 100644 (file)
@@ -947,9 +947,6 @@ private:
   int _fsync(Fh *fh, bool syncdataonly);
   int _statfs(struct statvfs *stbuf);
 
-  int _mksnap(Inode *dir, const char *name, int uid=-1, int gid=-1);
-  int _rmsnap(Inode *dir, const char *name, int uid=-1, int gid=-1);
-
 
 public:
   int mount();