aboutsummaryrefslogtreecommitdiffstats
path: root/fs/fuse/dir.c
diff options
context:
space:
mode:
authorVivek Goyal <vgoyal@redhat.com>2020-02-05 08:15:46 -0500
committerMiklos Szeredi <mszeredi@redhat.com>2020-02-06 16:39:28 +0100
commit519525fa47b5a8155f0b203e49a3a6a2319f75ae (patch)
treeffd0ba80d4f26e406789c224c73d8889505b0481 /fs/fuse/dir.c
parentfuse: don't overflow LLONG_MAX with end offset (diff)
downloadlinux-dev-519525fa47b5a8155f0b203e49a3a6a2319f75ae.tar.xz
linux-dev-519525fa47b5a8155f0b203e49a3a6a2319f75ae.zip
fuse: Support RENAME_WHITEOUT flag
Allow fuse to pass RENAME_WHITEOUT to fuse server. Overlayfs on top of virtiofs uses RENAME_WHITEOUT. Without this patch renaming a directory in overlayfs (dir is on lower) fails with -EINVAL. With this patch it works. Signed-off-by: Vivek Goyal <vgoyal@redhat.com> Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
Diffstat (limited to 'fs/fuse/dir.c')
-rw-r--r--fs/fuse/dir.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/fuse/dir.c b/fs/fuse/dir.c
index ee190119f45c..de1e2fde60bd 100644
--- a/fs/fuse/dir.c
+++ b/fs/fuse/dir.c
@@ -818,7 +818,7 @@ static int fuse_rename2(struct inode *olddir, struct dentry *oldent,
struct fuse_conn *fc = get_fuse_conn(olddir);
int err;
- if (flags & ~(RENAME_NOREPLACE | RENAME_EXCHANGE))
+ if (flags & ~(RENAME_NOREPLACE | RENAME_EXCHANGE | RENAME_WHITEOUT))
return -EINVAL;
if (flags) {