RE: [PATCH 2/3] SQUASHME pnfs_submit: update DS nfs4_set_client

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

 




> -----Original Message-----
> From: Adamson, Andy
> Sent: Wednesday, May 12, 2010 10:40 AM
> To: bhalevy@xxxxxxxxxxx
> Cc: linux-nfs@xxxxxxxxxxxxxxx; Adamson, Andy
> Subject: [PATCH 2/3] SQUASHME pnfs_submit: update DS nfs4_set_client
> 
> From: Andy Adamson <andros@xxxxxxxxxx>
> 
> Dont bother using the hostname, use the client ipaddr field from the
> MDS
> nfs_client for construction of the co_ownrid field the DS EXCHANGE_ID.
> 
> Clean up the comments.
> 
> Squash into "pnfs: filelayout: device ops"
> 
> Signed-off-by: Andy Adamson <andros@xxxxxxxxxx>
> ---
>  fs/nfs/nfs4filelayoutdev.c |   28 +++++-----------------------
>  1 files changed, 5 insertions(+), 23 deletions(-)
> 
> diff --git a/fs/nfs/nfs4filelayoutdev.c b/fs/nfs/nfs4filelayoutdev.c
> index 891c31d..b41f437 100644
> --- a/fs/nfs/nfs4filelayoutdev.c
> +++ b/fs/nfs/nfs4filelayoutdev.c
> @@ -128,8 +128,6 @@ nfs4_pnfs_ds_create(struct nfs_server *mds_srv,
> struct nfs4_pnfs_ds *ds)
>  	struct rpc_clnt 	*mds_clnt = mds_srv->client;
>  	struct nfs_client	*clp = mds_srv->nfs_client;
>  	struct sockaddr		*mds_addr;
> -	char			ip_addr[16];
> -	int			addrlen;
>  	int err = 0;
> 
>  	dprintk("--> %s ip:port %s au_flavor %d\n", __func__,
> @@ -156,32 +154,16 @@ nfs4_pnfs_ds_create(struct nfs_server *mds_srv,
> struct nfs4_pnfs_ds *ds)
>  		}
>  		goto out;
>  	}
> -	/* Set timeout to the mds rpc clnt value.
> -	 * XXX - find the correct authflavor....
> -	 *
> -	 * Fake a client ipaddr (used for sessionid) with hostname
> -	 * Use hostname since it might be more unique than ipaddr (which
> -	 * could be set to the loopback 127.0.0/1.1
> -	 *
> -	 * XXX: Should sessions continue to use the cl_ipaddr field?
> -	 */
> -	addrlen = strnlen(utsname()->nodename, sizeof(utsname()-
> >nodename));
> -	if (addrlen > sizeof(ip_addr))
> -		addrlen = sizeof(ip_addr);
> -	memcpy(ip_addr, utsname()->nodename, addrlen);
> -
> -	/* XXX need a non-nfs_client struct interface to set up
> -	 * data server sessions
> -	 *
> -	 * tmp: nfs4_set_client sets the nfs_server->nfs_client.
> -	 *
> -	 * We specify a retrans and timeout interval equual to MDS. ??
> +	/*
> +	 * Set a retrans, timeout interval, and authflavor equual to the
> MDS
> +	 * values. Use the MDS nfs_client cl_ipaddr field so as to use
> the
> +	 * same co_ownerid as the MDS.
>  	 */
>  	err = nfs4_set_client(&tmp,
>  			      mds_srv->nfs_client->cl_hostname,
>  			      (struct sockaddr *)&sin,
>  			      sizeof(struct sockaddr),
> -			      ip_addr,
> +			      mds_srv->nfs_client->cl_ipaddr,
>  			      mds_clnt->cl_auth->au_flavor,
>  			      IPPROTO_TCP,
>  			      mds_clnt->cl_xprt->timeout,
> --
> 1.6.6

Hi Andy,

Is there a way to avoid creating a new nfs_client altogether and just
re-use the existing one along with its session ?

-a

> 
> --
> 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