summaryrefslogtreecommitdiffstats
path: root/fs/read_write.c
diff options
context:
space:
mode:
authorMark Fasheh <mfasheh@suse.de>2018-09-11 01:21:18 +0200
committerAl Viro <viro@zeniv.linux.org.uk>2018-10-18 03:15:39 +0200
commit85c95f208f481ab3c34c4622f508272cd4803afd (patch)
tree8d1fdc72d85e38d2eaa245de006ac3e4cb8adde6 /fs/read_write.c
parentvfs: allow dedupe of user owned read-only files (diff)
downloadlinux-85c95f208f481ab3c34c4622f508272cd4803afd.tar.xz
linux-85c95f208f481ab3c34c4622f508272cd4803afd.zip
vfs: dedupe should return EPERM if permission is not granted
Right now we return EINVAL if a process does not have permission to dedupe a file. This was an oversight on my part. EPERM gives a true description of the nature of our error, and EINVAL is already used for the case that the filesystem does not support dedupe. Signed-off-by: Mark Fasheh <mfasheh@suse.de> Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com> Acked-by: David Sterba <dsterba@suse.com> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs/read_write.c')
-rw-r--r--fs/read_write.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/read_write.c b/fs/read_write.c
index be0e8723a049..c734bc2880a5 100644
--- a/fs/read_write.c
+++ b/fs/read_write.c
@@ -1991,7 +1991,7 @@ int vfs_dedupe_file_range_one(struct file *src_file, loff_t src_pos,
if (ret < 0)
goto out_drop_write;
- ret = -EINVAL;
+ ret = -EPERM;
if (!allow_file_dedupe(dst_file))
goto out_drop_write;