On Fri, May 11, 2018 at 05:06:34PM -0700, Darrick J. Wong wrote: > On Fri, May 11, 2018 at 12:26:51PM -0700, Mark Fasheh wrote: > > 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@xxxxxxx> > > --- > > fs/read_write.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/fs/read_write.c b/fs/read_write.c > > index 77986a2e2a3b..8edef43a182c 100644 > > --- a/fs/read_write.c > > +++ b/fs/read_write.c > > @@ -2038,7 +2038,7 @@ int vfs_dedupe_file_range(struct file *file, struct file_dedupe_range *same) > > info->status = -EINVAL; > > } else if (!(is_admin || (dst_file->f_mode & FMODE_WRITE) || > > uid_eq(current_fsuid(), dst->i_uid))) { > > - info->status = -EINVAL; > > + info->status = -EPERM; > > Hmm, are we allowed to change this aspect of the kabi after the fact? > > Granted, we're only trading one error code for another, but will the > existing users of this care? xfs_io won't and I assume duperemove won't > either, but what about bees? :) Yeah if you see my initial e-mail I check bees and also rust-btrfs. I think this is fine as we're simply expanding on an error code return. There's no magic behavior expected with respect to these error codes either. --Mark