Re: [RFC PATCH 2/3] nfsd: rework arguments to nfs4_set_delegation

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



 

> On Jul 14, 2022, at 1:12 PM, Jeff Layton <jlayton@xxxxxxxxxx> wrote:
> 
> On Thu, 2022-07-14 at 16:47 +0000, Chuck Lever III wrote:
>> 
>>> On Jul 14, 2022, at 11:28 AM, Jeff Layton <jlayton@xxxxxxxxxx> wrote:
>>> 
>>> We'll need the nfs4_open to vet the filename. Change nfs4_set_delegation
>>> to take the same arguments are nfs4_open_delegation.
>> 
>> ^are^as
>> 
>> Nit: Considering that in the next patch you change the synopsis of
>> nfs4_open_delegation again but not nfs4_set_delegation, this
>> description causes a little whiplash.
>> 
>> 
> 
> Yeah, I should have squashed a couple of those together. I _did_ say it
> was an RFC. I can resend a cleaned-up version later if you want to take
> this in.

I'm interested in Neil's thoughts about this approach, but I'm
willing to run with it unless test results show a regression.


>>> Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxx>
>>> ---
>>> fs/nfsd/nfs4state.c | 8 +++++---
>>> 1 file changed, 5 insertions(+), 3 deletions(-)
>>> 
>>> diff --git a/fs/nfsd/nfs4state.c b/fs/nfsd/nfs4state.c
>>> index 4f81c0bbd27b..347794028c98 100644
>>> --- a/fs/nfsd/nfs4state.c
>>> +++ b/fs/nfsd/nfs4state.c
>>> @@ -5260,10 +5260,12 @@ static int nfsd4_check_conflicting_opens(struct nfs4_client *clp,
>>> }
>>> 
>>> static struct nfs4_delegation *
>>> -nfs4_set_delegation(struct nfs4_client *clp,
>>> -		 struct nfs4_file *fp, struct nfs4_clnt_odstate *odstate)
>>> +nfs4_set_delegation(struct nfsd4_open *open, struct nfs4_ol_stateid *stp)
>>> {
>>> 	int status = 0;
>>> +	struct nfs4_client *clp = stp->st_stid.sc_client;
>>> +	struct nfs4_file *fp = stp->st_stid.sc_file;
>>> +	struct nfs4_clnt_odstate *odstate = stp->st_clnt_odstate;
>>> 	struct nfs4_delegation *dp;
>>> 	struct nfsd_file *nf;
>>> 	struct file_lock *fl;
>>> @@ -5405,7 +5407,7 @@ nfs4_open_delegation(struct nfsd4_open *open, struct nfs4_ol_stateid *stp)
>>> 		default:
>>> 			goto out_no_deleg;
>>> 	}
>>> -	dp = nfs4_set_delegation(clp, stp->st_stid.sc_file, stp->st_clnt_odstate);
>>> +	dp = nfs4_set_delegation(open, stp);
>>> 	if (IS_ERR(dp))
>>> 		goto out_no_deleg;
>>> 
>>> -- 
>>> 2.36.1
>>> 
>> 
>> --
>> Chuck Lever
>> 
>> 
>> 
> 
> -- 
> Jeff Layton <jlayton@xxxxxxxxxx>

--
Chuck Lever







[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux