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 = { | |||
105 | .nrvers = ARRAY_SIZE(nfs_version), | 105 | .nrvers = ARRAY_SIZE(nfs_version), |
106 | .version = nfs_version, | 106 | .version = nfs_version, |
107 | .stats = &nfs_rpcstat, | 107 | .stats = &nfs_rpcstat, |
108 | .pipe_dir_name = "/nfs", | 108 | .pipe_dir_name = NFS_PIPE_DIRNAME, |
109 | }; | 109 | }; |
110 | 110 | ||
111 | struct rpc_stat nfs_rpcstat = { | 111 | struct rpc_stat nfs_rpcstat = { |
@@ -188,9 +188,6 @@ static struct nfs_client *nfs_alloc_client(const struct nfs_client_initdata *cl_ | |||
188 | cred = rpc_lookup_machine_cred(); | 188 | cred = rpc_lookup_machine_cred(); |
189 | if (!IS_ERR(cred)) | 189 | if (!IS_ERR(cred)) |
190 | clp->cl_machine_cred = cred; | 190 | clp->cl_machine_cred = cred; |
191 | #if defined(CONFIG_NFS_V4_1) | ||
192 | INIT_LIST_HEAD(&clp->cl_layouts); | ||
193 | #endif | ||
194 | nfs_fscache_get_client_cookie(clp); | 191 | nfs_fscache_get_client_cookie(clp); |
195 | 192 | ||
196 | return clp; | 193 | return clp; |
@@ -293,6 +290,7 @@ static void nfs_free_client(struct nfs_client *clp) | |||
293 | nfs4_deviceid_purge_client(clp); | 290 | nfs4_deviceid_purge_client(clp); |
294 | 291 | ||
295 | kfree(clp->cl_hostname); | 292 | kfree(clp->cl_hostname); |
293 | kfree(clp->server_scope); | ||
296 | kfree(clp); | 294 | kfree(clp); |
297 | 295 | ||
298 | dprintk("<-- nfs_free_client()\n"); | 296 | dprintk("<-- nfs_free_client()\n"); |
@@ -906,7 +904,9 @@ error: | |||
906 | /* | 904 | /* |
907 | * Load up the server record from information gained in an fsinfo record | 905 | * Load up the server record from information gained in an fsinfo record |
908 | */ | 906 | */ |
909 | static void nfs_server_set_fsinfo(struct nfs_server *server, struct nfs_fsinfo *fsinfo) | 907 | static void nfs_server_set_fsinfo(struct nfs_server *server, |
908 | struct nfs_fh *mntfh, | ||
909 | struct nfs_fsinfo *fsinfo) | ||
910 | { | 910 | { |
911 | unsigned long max_rpc_payload; | 911 | unsigned long max_rpc_payload; |
912 | 912 | ||
@@ -936,7 +936,8 @@ static void nfs_server_set_fsinfo(struct nfs_server *server, struct nfs_fsinfo * | |||
936 | if (server->wsize > NFS_MAX_FILE_IO_SIZE) | 936 | if (server->wsize > NFS_MAX_FILE_IO_SIZE) |
937 | server->wsize = NFS_MAX_FILE_IO_SIZE; | 937 | server->wsize = NFS_MAX_FILE_IO_SIZE; |
938 | server->wpages = (server->wsize + PAGE_CACHE_SIZE - 1) >> PAGE_CACHE_SHIFT; | 938 | server->wpages = (server->wsize + PAGE_CACHE_SIZE - 1) >> PAGE_CACHE_SHIFT; |
939 | set_pnfs_layoutdriver(server, fsinfo->layouttype); | 939 | server->pnfs_blksize = fsinfo->blksize; |
940 | set_pnfs_layoutdriver(server, mntfh, fsinfo->layouttype); | ||
940 | 941 | ||
941 | server->wtmult = nfs_block_bits(fsinfo->wtmult, NULL); | 942 | server->wtmult = nfs_block_bits(fsinfo->wtmult, NULL); |
942 | 943 | ||
@@ -982,7 +983,7 @@ static int nfs_probe_fsinfo(struct nfs_server *server, struct nfs_fh *mntfh, str | |||
982 | if (error < 0) | 983 | if (error < 0) |
983 | goto out_error; | 984 | goto out_error; |
984 | 985 | ||
985 | nfs_server_set_fsinfo(server, &fsinfo); | 986 | nfs_server_set_fsinfo(server, mntfh, &fsinfo); |
986 | 987 | ||
987 | /* Get some general file system info */ | 988 | /* Get some general file system info */ |
988 | if (server->namelen == 0) { | 989 | if (server->namelen == 0) { |
@@ -1062,6 +1063,7 @@ static struct nfs_server *nfs_alloc_server(void) | |||
1062 | INIT_LIST_HEAD(&server->client_link); | 1063 | INIT_LIST_HEAD(&server->client_link); |
1063 | INIT_LIST_HEAD(&server->master_link); | 1064 | INIT_LIST_HEAD(&server->master_link); |
1064 | INIT_LIST_HEAD(&server->delegations); | 1065 | INIT_LIST_HEAD(&server->delegations); |
1066 | INIT_LIST_HEAD(&server->layouts); | ||
1065 | 1067 | ||
1066 | atomic_set(&server->active, 0); | 1068 | atomic_set(&server->active, 0); |
1067 | 1069 | ||
@@ -1464,7 +1466,7 @@ struct nfs_client *nfs4_set_ds_client(struct nfs_client* mds_clp, | |||
1464 | dprintk("<-- %s %p\n", __func__, clp); | 1466 | dprintk("<-- %s %p\n", __func__, clp); |
1465 | return clp; | 1467 | return clp; |
1466 | } | 1468 | } |
1467 | EXPORT_SYMBOL(nfs4_set_ds_client); | 1469 | EXPORT_SYMBOL_GPL(nfs4_set_ds_client); |
1468 | 1470 | ||
1469 | /* | 1471 | /* |
1470 | * Session has been established, and the client marked ready. | 1472 | * Session has been established, and the client marked ready. |