From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx2.suse.de ([195.135.220.15]:52017 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751921AbeEQXDC (ORCPT ); Thu, 17 May 2018 19:03:02 -0400 Date: Fri, 18 May 2018 01:03:00 +0200 From: Mark Fasheh To: Zygo Blaxell Cc: "Darrick J. Wong" , linux-fsdevel@vger.kernel.org, linux-btrfs@vger.kernel.org, linux-xfs@vger.kernel.org Subject: Re: [PATCH 2/2] vfs: dedupe should return EPERM if permission is not granted Message-ID: <20180517230300.GB28045@wotan.suse.de> Reply-To: Mark Fasheh References: <20180511192651.21324-1-mfasheh@suse.de> <20180511192651.21324-3-mfasheh@suse.de> <20180512000634.GG9510@magnolia> <20180513182152.GE27915@wotan.suse.de> <20180513182639.GB4933@magnolia> <20180517051550.GB22356@hungrycats.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20180517051550.GB22356@hungrycats.org> Sender: linux-fsdevel-owner@vger.kernel.org List-ID: On Thu, May 17, 2018 at 01:15:51AM -0400, Zygo Blaxell wrote: > On Sun, May 13, 2018 at 11:26:39AM -0700, Darrick J. Wong wrote: > > On Sun, May 13, 2018 at 06:21:52PM +0000, Mark Fasheh wrote: > > > 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 > > > > > --- > > > > > 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. > > > > Ok. No objections from me, then. > > > > Acked-by: Darrick J. Wong > > For what it's worth, no objection from me either. ;) > > bees runs only with admin privilege and will never hit the modified line. Awesome, thanks for the review Zygo. --Mark