Re: [PATCH] Check validity of cl_rpcclient in nfs_server_list_show

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

 



Malahal Naineni [malahal@xxxxxxxxxx] wrote:
> Myklebust, Trond [Trond.Myklebust@xxxxxxxxxx] wrote:
> > Shouldn't we just skip all nfs_client structures that don't have
> > cl_cons_state set to NFS_CS_READY? I see no reason to display their
> > properties even if they have got far enough as to create an rpc client.
> > 
> > Cheers
> >   Trond
> 
> Sounds good to me. Here is a tested patch.

Any comments on this one?

Thanks, Malahal.

> 
> 
> As soon as the nfs_client gets created, its cl_rpcclient is set to
> ERR_PTR(-EINVAL). The rpc client structure is allocated later. Check
> if the client is ready before using the cl_rpcclient pointer.
> 
> Signed-off-by: Malahal Naineni <malahal@xxxxxxxxxx>
> ---
>  fs/nfs/client.c |    4 ++++
>  1 files changed, 4 insertions(+), 0 deletions(-)
> 
> diff --git a/fs/nfs/client.c b/fs/nfs/client.c
> index 5833fbb..a54c45e 100644
> --- a/fs/nfs/client.c
> +++ b/fs/nfs/client.c
> @@ -1867,6 +1867,10 @@ static int nfs_server_list_show(struct seq_file *m, void *v)
>  	/* display one transport per line on subsequent lines */
>  	clp = list_entry(v, struct nfs_client, cl_share_link);
> 
> +	/* Check if the client is initialized */
> +	if (clp->cl_cons_state != NFS_CS_READY)
> +		return 0;
> +
>  	seq_printf(m, "v%u %s %s %3d %s\n",
>  		   clp->rpc_ops->version,
>  		   rpc_peeraddr2str(clp->cl_rpcclient, RPC_DISPLAY_HEX_ADDR),
> -- 
> 1.7.0.4
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[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