aboutsummaryrefslogtreecommitdiffstats
path: root/fs/nfs/client.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/nfs/client.c')
-rw-r--r--fs/nfs/client.c15
1 files changed, 5 insertions, 10 deletions
diff --git a/fs/nfs/client.c b/fs/nfs/client.c
index c6be84a161f6..e350bd6a2334 100644
--- a/fs/nfs/client.c
+++ b/fs/nfs/client.c
@@ -809,6 +809,9 @@ static int nfs_init_server(struct nfs_server *server,
809 /* Initialise the client representation from the mount data */ 809 /* Initialise the client representation from the mount data */
810 server->flags = data->flags; 810 server->flags = data->flags;
811 server->options = data->options; 811 server->options = data->options;
812 server->caps |= NFS_CAP_HARDLINKS|NFS_CAP_SYMLINKS|NFS_CAP_FILEID|
813 NFS_CAP_MODE|NFS_CAP_NLINK|NFS_CAP_OWNER|NFS_CAP_OWNER_GROUP|
814 NFS_CAP_ATIME|NFS_CAP_CTIME|NFS_CAP_MTIME;
812 815
813 if (data->rsize) 816 if (data->rsize)
814 server->rsize = nfs_block_size(data->rsize, NULL); 817 server->rsize = nfs_block_size(data->rsize, NULL);
@@ -1075,10 +1078,6 @@ struct nfs_server *nfs_create_server(const struct nfs_parsed_mount_data *data,
1075 (unsigned long long) server->fsid.major, 1078 (unsigned long long) server->fsid.major,
1076 (unsigned long long) server->fsid.minor); 1079 (unsigned long long) server->fsid.minor);
1077 1080
1078 BUG_ON(!server->nfs_client);
1079 BUG_ON(!server->nfs_client->rpc_ops);
1080 BUG_ON(!server->nfs_client->rpc_ops->file_inode_ops);
1081
1082 spin_lock(&nfs_client_lock); 1081 spin_lock(&nfs_client_lock);
1083 list_add_tail(&server->client_link, &server->nfs_client->cl_superblocks); 1082 list_add_tail(&server->client_link, &server->nfs_client->cl_superblocks);
1084 list_add_tail(&server->master_link, &nfs_volume_list); 1083 list_add_tail(&server->master_link, &nfs_volume_list);
@@ -1275,7 +1274,7 @@ static int nfs4_init_server(struct nfs_server *server,
1275 1274
1276 /* Initialise the client representation from the mount data */ 1275 /* Initialise the client representation from the mount data */
1277 server->flags = data->flags; 1276 server->flags = data->flags;
1278 server->caps |= NFS_CAP_ATOMIC_OPEN; 1277 server->caps |= NFS_CAP_ATOMIC_OPEN|NFS_CAP_CHANGE_ATTR;
1279 server->options = data->options; 1278 server->options = data->options;
1280 1279
1281 /* Get a client record */ 1280 /* Get a client record */
@@ -1360,10 +1359,6 @@ struct nfs_server *nfs4_create_server(const struct nfs_parsed_mount_data *data,
1360 if (server->namelen == 0 || server->namelen > NFS4_MAXNAMLEN) 1359 if (server->namelen == 0 || server->namelen > NFS4_MAXNAMLEN)
1361 server->namelen = NFS4_MAXNAMLEN; 1360 server->namelen = NFS4_MAXNAMLEN;
1362 1361
1363 BUG_ON(!server->nfs_client);
1364 BUG_ON(!server->nfs_client->rpc_ops);
1365 BUG_ON(!server->nfs_client->rpc_ops->file_inode_ops);
1366
1367 spin_lock(&nfs_client_lock); 1362 spin_lock(&nfs_client_lock);
1368 list_add_tail(&server->client_link, &server->nfs_client->cl_superblocks); 1363 list_add_tail(&server->client_link, &server->nfs_client->cl_superblocks);
1369 list_add_tail(&server->master_link, &nfs_volume_list); 1364 list_add_tail(&server->master_link, &nfs_volume_list);
@@ -1401,7 +1396,7 @@ struct nfs_server *nfs4_create_referral_server(struct nfs_clone_mount *data,
1401 1396
1402 /* Initialise the client representation from the parent server */ 1397 /* Initialise the client representation from the parent server */
1403 nfs_server_copy_userdata(server, parent_server); 1398 nfs_server_copy_userdata(server, parent_server);
1404 server->caps |= NFS_CAP_ATOMIC_OPEN; 1399 server->caps |= NFS_CAP_ATOMIC_OPEN|NFS_CAP_CHANGE_ATTR;
1405 1400
1406 /* Get a client representation. 1401 /* Get a client representation.
1407 * Note: NFSv4 always uses TCP, */ 1402 * Note: NFSv4 always uses TCP, */