diff options
Diffstat (limited to 'fs/nfs/client.c')
| -rw-r--r-- | fs/nfs/client.c | 5 | 
1 files changed, 5 insertions, 0 deletions
diff --git a/fs/nfs/client.c b/fs/nfs/client.c index a63bce8d0596..eba0bcc1bab0 100644 --- a/fs/nfs/client.c +++ b/fs/nfs/client.c @@ -48,6 +48,7 @@  #include "iostat.h"  #include "internal.h"  #include "fscache.h" +#include "pnfs.h"  #define NFSDBG_FACILITY		NFSDBG_CLIENT @@ -900,6 +901,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->wtmult = nfs_block_bits(fsinfo->wtmult, NULL);  	server->dtsize = nfs_block_size(fsinfo->dtpref, NULL); @@ -939,6 +942,7 @@ static int nfs_probe_fsinfo(struct nfs_server *server, struct nfs_fh *mntfh, str  	}  	fsinfo.fattr = fattr; +	fsinfo.layouttype = 0;  	error = clp->rpc_ops->fsinfo(server, mntfh, &fsinfo);  	if (error < 0)  		goto out_error; @@ -1021,6 +1025,7 @@ void nfs_free_server(struct nfs_server *server)  {  	dprintk("--> nfs_free_server()\n"); +	unset_pnfs_layoutdriver(server);  	spin_lock(&nfs_client_lock);  	list_del(&server->client_link);  	list_del(&server->master_link);  | 
