diff options
Diffstat (limited to 'fs/nfs/client.c')
| -rw-r--r-- | fs/nfs/client.c | 18 | 
1 files changed, 10 insertions, 8 deletions
diff --git a/fs/nfs/client.c b/fs/nfs/client.c index b3dc2b88b65..5833fbbf59b 100644 --- a/fs/nfs/client.c +++ b/fs/nfs/client.c @@ -105,7 +105,7 @@ struct rpc_program nfs_program = {  	.nrvers			= ARRAY_SIZE(nfs_version),  	.version		= nfs_version,  	.stats			= &nfs_rpcstat, -	.pipe_dir_name		= "/nfs", +	.pipe_dir_name		= NFS_PIPE_DIRNAME,  };  struct rpc_stat nfs_rpcstat = { @@ -188,9 +188,6 @@ static struct nfs_client *nfs_alloc_client(const struct nfs_client_initdata *cl_  	cred = rpc_lookup_machine_cred();  	if (!IS_ERR(cred))  		clp->cl_machine_cred = cred; -#if defined(CONFIG_NFS_V4_1) -	INIT_LIST_HEAD(&clp->cl_layouts); -#endif  	nfs_fscache_get_client_cookie(clp);  	return clp; @@ -293,6 +290,7 @@ static void nfs_free_client(struct nfs_client *clp)  	nfs4_deviceid_purge_client(clp);  	kfree(clp->cl_hostname); +	kfree(clp->server_scope);  	kfree(clp);  	dprintk("<-- nfs_free_client()\n"); @@ -906,7 +904,9 @@ error:  /*   * Load up the server record from information gained in an fsinfo record   */ -static void nfs_server_set_fsinfo(struct nfs_server *server, struct nfs_fsinfo *fsinfo) +static void nfs_server_set_fsinfo(struct nfs_server *server, +				  struct nfs_fh *mntfh, +				  struct nfs_fsinfo *fsinfo)  {  	unsigned long max_rpc_payload; @@ -936,7 +936,8 @@ static void nfs_server_set_fsinfo(struct nfs_server *server, struct nfs_fsinfo *  	if (server->wsize > NFS_MAX_FILE_IO_SIZE)  		server->wsize = NFS_MAX_FILE_IO_SIZE;  	server->wpages = (server->wsize + PAGE_CACHE_SIZE - 1) >> PAGE_CACHE_SHIFT; -	set_pnfs_layoutdriver(server, fsinfo->layouttype); +	server->pnfs_blksize = fsinfo->blksize; +	set_pnfs_layoutdriver(server, mntfh, fsinfo->layouttype);  	server->wtmult = nfs_block_bits(fsinfo->wtmult, NULL); @@ -982,7 +983,7 @@ static int nfs_probe_fsinfo(struct nfs_server *server, struct nfs_fh *mntfh, str  	if (error < 0)  		goto out_error; -	nfs_server_set_fsinfo(server, &fsinfo); +	nfs_server_set_fsinfo(server, mntfh, &fsinfo);  	/* Get some general file system info */  	if (server->namelen == 0) { @@ -1062,6 +1063,7 @@ static struct nfs_server *nfs_alloc_server(void)  	INIT_LIST_HEAD(&server->client_link);  	INIT_LIST_HEAD(&server->master_link);  	INIT_LIST_HEAD(&server->delegations); +	INIT_LIST_HEAD(&server->layouts);  	atomic_set(&server->active, 0); @@ -1464,7 +1466,7 @@ struct nfs_client *nfs4_set_ds_client(struct nfs_client* mds_clp,  	dprintk("<-- %s %p\n", __func__, clp);  	return clp;  } -EXPORT_SYMBOL(nfs4_set_ds_client); +EXPORT_SYMBOL_GPL(nfs4_set_ds_client);  /*   * Session has been established, and the client marked ready.  |