Lines Matching refs:server
761 static void nfs4_destroy_server(struct nfs_server *server) in nfs4_destroy_server() argument
765 nfs_server_return_all_delegations(server); in nfs4_destroy_server()
766 unset_pnfs_layoutdriver(server); in nfs4_destroy_server()
767 nfs4_purge_state_owners(server, &freeme); in nfs4_destroy_server()
861 static int nfs4_set_client(struct nfs_server *server, in nfs4_set_client() argument
880 .cred = server->cred, in nfs4_set_client()
889 if (server->flags & NFS_MOUNT_NORESVPORT) in nfs4_set_client()
891 if (server->options & NFS_OPTION_MIGRATION) in nfs4_set_client()
893 if (test_bit(NFS_MIG_TSM_POSSIBLE, &server->mig_status)) in nfs4_set_client()
895 server->port = rpc_get_port(addr); in nfs4_set_client()
902 if (server->nfs_client == clp) { in nfs4_set_client()
916 server->nfs_client = clp; in nfs4_set_client()
976 static void nfs4_session_limit_rwsize(struct nfs_server *server) in nfs4_session_limit_rwsize() argument
983 if (!nfs4_has_session(server->nfs_client)) in nfs4_session_limit_rwsize()
985 sess = server->nfs_client->cl_session; in nfs4_session_limit_rwsize()
989 if (server->dtsize > server_resp_sz) in nfs4_session_limit_rwsize()
990 server->dtsize = server_resp_sz; in nfs4_session_limit_rwsize()
991 if (server->rsize > server_resp_sz) in nfs4_session_limit_rwsize()
992 server->rsize = server_resp_sz; in nfs4_session_limit_rwsize()
993 if (server->wsize > server_rqst_sz) in nfs4_session_limit_rwsize()
994 server->wsize = server_rqst_sz; in nfs4_session_limit_rwsize()
1001 static void nfs4_session_limit_xasize(struct nfs_server *server) in nfs4_session_limit_xasize() argument
1009 if (!nfs4_has_session(server->nfs_client)) in nfs4_session_limit_xasize()
1012 sess = server->nfs_client->cl_session; in nfs4_session_limit_xasize()
1019 if (server->gxasize > server_gxa_sz) in nfs4_session_limit_xasize()
1020 server->gxasize = server_gxa_sz; in nfs4_session_limit_xasize()
1021 if (server->sxasize > server_sxa_sz) in nfs4_session_limit_xasize()
1022 server->sxasize = server_sxa_sz; in nfs4_session_limit_xasize()
1023 if (server->lxasize > server_lxa_sz) in nfs4_session_limit_xasize()
1024 server->lxasize = server_lxa_sz; in nfs4_session_limit_xasize()
1028 static int nfs4_server_common_setup(struct nfs_server *server, in nfs4_server_common_setup() argument
1035 if (is_ds_only_client(server->nfs_client)) in nfs4_server_common_setup()
1043 error = nfs4_init_session(server->nfs_client); in nfs4_server_common_setup()
1048 server->caps |= server->nfs_client->cl_mvops->init_caps; in nfs4_server_common_setup()
1049 if (server->flags & NFS_MOUNT_NORDIRPLUS) in nfs4_server_common_setup()
1050 server->caps &= ~NFS_CAP_READDIRPLUS; in nfs4_server_common_setup()
1051 if (server->nfs_client->cl_proto == XPRT_TRANSPORT_RDMA) in nfs4_server_common_setup()
1052 server->caps &= ~NFS_CAP_READ_PLUS; in nfs4_server_common_setup()
1058 server->client->cl_auth->au_flavor == RPC_AUTH_UNIX) in nfs4_server_common_setup()
1059 server->caps |= NFS_CAP_UIDGID_NOMAP; in nfs4_server_common_setup()
1063 error = nfs4_get_rootfh(server, mntfh, auth_probe); in nfs4_server_common_setup()
1068 (unsigned long long) server->fsid.major, in nfs4_server_common_setup()
1069 (unsigned long long) server->fsid.minor); in nfs4_server_common_setup()
1072 error = nfs_probe_fsinfo(server, mntfh, fattr); in nfs4_server_common_setup()
1076 nfs4_session_limit_rwsize(server); in nfs4_server_common_setup()
1077 nfs4_session_limit_xasize(server); in nfs4_server_common_setup()
1079 if (server->namelen == 0 || server->namelen > NFS4_MAXNAMLEN) in nfs4_server_common_setup()
1080 server->namelen = NFS4_MAXNAMLEN; in nfs4_server_common_setup()
1082 nfs_server_insert_lists(server); in nfs4_server_common_setup()
1083 server->mount_time = jiffies; in nfs4_server_common_setup()
1084 server->destroy = nfs4_destroy_server; in nfs4_server_common_setup()
1093 static int nfs4_init_server(struct nfs_server *server, struct fs_context *fc) in nfs4_init_server() argument
1103 server->flags = ctx->flags; in nfs4_init_server()
1104 server->options = ctx->options; in nfs4_init_server()
1105 server->auth_info = ctx->auth_info; in nfs4_init_server()
1116 error = nfs4_set_client(server, in nfs4_init_server()
1130 server->rsize = nfs_block_size(ctx->rsize, NULL); in nfs4_init_server()
1132 server->wsize = nfs_block_size(ctx->wsize, NULL); in nfs4_init_server()
1134 server->acregmin = ctx->acregmin * HZ; in nfs4_init_server()
1135 server->acregmax = ctx->acregmax * HZ; in nfs4_init_server()
1136 server->acdirmin = ctx->acdirmin * HZ; in nfs4_init_server()
1137 server->acdirmax = ctx->acdirmax * HZ; in nfs4_init_server()
1138 server->port = ctx->nfs_server.port; in nfs4_init_server()
1140 return nfs_init_server_rpcclient(server, &timeparms, in nfs4_init_server()
1151 struct nfs_server *server; in nfs4_create_server() local
1155 server = nfs_alloc_server(); in nfs4_create_server()
1156 if (!server) in nfs4_create_server()
1159 server->cred = get_cred(current_cred()); in nfs4_create_server()
1164 error = nfs4_init_server(server, fc); in nfs4_create_server()
1168 error = nfs4_server_common_setup(server, ctx->mntfh, auth_probe); in nfs4_create_server()
1172 return server; in nfs4_create_server()
1175 nfs_free_server(server); in nfs4_create_server()
1186 struct nfs_server *server, *parent_server; in nfs4_create_referral_server() local
1190 server = nfs_alloc_server(); in nfs4_create_referral_server()
1191 if (!server) in nfs4_create_referral_server()
1197 server->cred = get_cred(parent_server->cred); in nfs4_create_referral_server()
1200 nfs_server_copy_userdata(server, parent_server); in nfs4_create_referral_server()
1205 error = nfs4_set_client(server, in nfs4_create_referral_server()
1220 error = nfs4_set_client(server, in nfs4_create_referral_server()
1236 error = nfs_init_server_rpcclient(server, parent_server->client->cl_timeout, in nfs4_create_referral_server()
1243 error = nfs4_server_common_setup(server, ctx->mntfh, auth_probe); in nfs4_create_referral_server()
1247 return server; in nfs4_create_referral_server()
1250 nfs_free_server(server); in nfs4_create_referral_server()
1260 static int nfs_probe_destination(struct nfs_server *server) in nfs_probe_destination() argument
1262 struct inode *inode = d_inode(server->super->s_root); in nfs_probe_destination()
1272 error = nfs_probe_fsinfo(server, NFS_FH(inode), fattr); in nfs_probe_destination()
1293 int nfs4_update_server(struct nfs_server *server, const char *hostname, in nfs4_update_server() argument
1296 struct nfs_client *clp = server->nfs_client; in nfs4_update_server()
1297 struct rpc_clnt *clnt = server->client; in nfs4_update_server()
1321 nfs_server_remove_lists(server); in nfs4_update_server()
1322 set_bit(NFS_MIG_TSM_POSSIBLE, &server->mig_status); in nfs4_update_server()
1323 error = nfs4_set_client(server, hostname, sap, salen, buf, in nfs4_update_server()
1327 clear_bit(NFS_MIG_TSM_POSSIBLE, &server->mig_status); in nfs4_update_server()
1329 nfs_server_insert_lists(server); in nfs4_update_server()
1334 if (server->nfs_client->cl_hostname == NULL) { in nfs4_update_server()
1335 server->nfs_client->cl_hostname = kstrdup(hostname, GFP_KERNEL); in nfs4_update_server()
1336 if (server->nfs_client->cl_hostname == NULL) in nfs4_update_server()
1339 nfs_server_insert_lists(server); in nfs4_update_server()
1341 return nfs_probe_destination(server); in nfs4_update_server()