[pnfs] [PATCH 01/10] pnfsd: Add nfs4_lock_state to nfs4_pnfs_cb_get_state

Benny Halevy bhalevy at panasas.com
Sun Feb 10 11:27:18 EST 2008


I applied the patchset plus most of my comments onto a branch
called ibm-pnfs-d19-v1 (based on top of the current pnfs-d19).
Initial testing already shows that the server does not encode
layoutreturn response correctly (seems to be missing lrs_present
(+ optionally lrs_stateid)

I'll submit a patch to pnfs-d19 to fix that.

Current (relevant) tree structure is:

nfs41-d19
	ibm-pnfs-d19-v1
		pnfs-d19

Benny

On Feb. 09, 2008, 10:25 +0200, Marc Eshel <eshel at almaden.ibm.com> wrote:
> From: Marc Eshel <eshel at almaden.ibm.com>
> 
> 
> ---
> 
>  fs/nfsd/nfs4state.c |    2 ++
>  1 files changed, 2 insertions(+), 0 deletions(-)
> 
> diff --git a/fs/nfsd/nfs4state.c b/fs/nfsd/nfs4state.c
> index 5356efb..232e7aa 100644
> --- a/fs/nfsd/nfs4state.c
> +++ b/fs/nfsd/nfs4state.c
> @@ -4738,6 +4738,7 @@ nfs4_pnfs_cb_get_state(struct super_block *sb, struct pnfs_get_state *arg)
>  				arg->stid.si_generation,
>  				arg->ino);
>  
> +	nfs4_lock_state();
>  	stp = find_stateid(&arg->stid, flags);
>  	if (!stp) {
>  		ino = iget(sb, arg->ino);
> @@ -4761,6 +4762,7 @@ nfs4_pnfs_cb_get_state(struct super_block *sb, struct pnfs_get_state *arg)
>  		arg->clid = stp->st_stateowner->so_client->cl_clientid;
>  	}
>  out:
> +	nfs4_unlock_state();
>  	return status;
>  }
>  
> _______________________________________________
> pNFS mailing list
> pNFS at linux-nfs.org
> http://linux-nfs.org/cgi-bin/mailman/listinfo/pnfs



More information about the pNFS mailing list