diff options
Diffstat (limited to '')
-rw-r--r-- | src/client/fuse_ll.cc | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/client/fuse_ll.cc b/src/client/fuse_ll.cc index 7f92dd668..0e2e20064 100644 --- a/src/client/fuse_ll.cc +++ b/src/client/fuse_ll.cc @@ -753,6 +753,15 @@ static void fuse_ll_rename(fuse_req_t req, fuse_ino_t parent, const char *name, #endif ) { +#if FUSE_VERSION >= FUSE_MAKE_VERSION(3, 0) + // cephfs does not support renameat2 flavors; follow same logic as done in + // kclient's ceph_rename() + if (flags) { + fuse_reply_err(req, get_sys_errno(CEPHFS_EINVAL)); + return; + } +#endif + CephFuse::Handle *cfuse = fuse_ll_req_prepare(req); const struct fuse_ctx *ctx = fuse_req_ctx(req); UserPerm perm(ctx->uid, ctx->gid); |