From c1629b63e566ea5922f9bc5caa433130373e7b79 Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Fri, 3 Apr 2009 15:00:20 -0700 Subject: [PATCH] uclient: mksnap/rmsnap via mkdir/rmdir --- src/client/Client.cc | 41 ++++------------------------------------- src/client/Client.h | 3 --- 2 files changed, 4 insertions(+), 40 deletions(-) diff --git a/src/client/Client.cc b/src/client/Client.cc index a283327f237d1..5cf86f4d49f85 100644 --- a/src/client/Client.cc +++ b/src/client/Client.cc @@ -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); } diff --git a/src/client/Client.h b/src/client/Client.h index 3dd8f9d5e3e26..16b09663bec3d 100644 --- a/src/client/Client.h +++ b/src/client/Client.h @@ -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(); -- 2.39.5