From: wuxiangwei Date: Tue, 15 Dec 2015 12:36:08 +0000 (-0500) Subject: rbd: implement mv operation for rbd-fuse X-Git-Tag: v10.0.3~191^2~2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=228aedff2a39f107572aa4f00a375ed36d0c977a;p=ceph.git rbd: implement mv operation for rbd-fuse implement mv operation for rbd-fuse to rename image. Signed-off-by: Xiangwei Wu wuxiangwei@h3c.com --- diff --git a/src/rbd_fuse/rbd-fuse.cc b/src/rbd_fuse/rbd-fuse.cc index 8abfe45b5d1..838c2fea9cd 100644 --- a/src/rbd_fuse/rbd-fuse.cc +++ b/src/rbd_fuse/rbd-fuse.cc @@ -534,6 +534,16 @@ rbdfs_create(const char *path, mode_t mode, struct fuse_file_info *fi) return r; } +int rbdfs_rename(const char *path, const char *destname) +{ + const char *srcname = NULL; + if (strcmp(path, "/") == 0) + return -EINVAL; + + srcname = path + 1; + return rbd_rename(ioctx, srcname, destname + 1); +} + int rbdfs_utime(const char *path, struct utimbuf *utime) { @@ -678,7 +688,7 @@ const static struct fuse_operations rbdfs_oper = { unlink: rbdfs_unlink, rmdir: 0, symlink: 0, - rename: 0, + rename: rbdfs_rename, link: 0, chmod: 0, chown: 0,