Lines Matching refs:server
84 static int _nfs4_proc_getattr(struct nfs_server *server, struct nfs_fh *fhandle, struct nfs_fattr *…
122 static inline u32 *nfs4_bitmask(struct nfs_server *server, struct nfs4_label *label) in nfs4_bitmask() argument
125 return server->attr_bitmask; in nfs4_bitmask()
127 return server->attr_bitmask_nl; in nfs4_bitmask()
138 nfs4_bitmask(struct nfs_server *server, struct nfs4_label *label) in nfs4_bitmask() argument
139 { return server->attr_bitmask; } in nfs4_bitmask()
347 int nfs4_handle_exception(struct nfs_server *server, int errorcode, struct nfs4_exception *exceptio… in nfs4_handle_exception() argument
349 struct nfs_client *clp = server->nfs_client; in nfs4_handle_exception()
366 ret = nfs4_schedule_stateid_recovery(server, state); in nfs4_handle_exception()
375 ret = nfs4_schedule_stateid_recovery(server, state); in nfs4_handle_exception()
381 ret = nfs4_schedule_stateid_recovery(server, state); in nfs4_handle_exception()
390 ret = nfs4_schedule_migration_recovery(server); in nfs4_handle_exception()
420 ret = nfs4_delay(server->client, &exception->timeout); in nfs4_handle_exception()
430 if (server->caps & NFS_CAP_UIDGID_NOMAP) { in nfs4_handle_exception()
431 server->caps &= ~NFS_CAP_UIDGID_NOMAP; in nfs4_handle_exception()
437 server->nfs_client->cl_hostname); in nfs4_handle_exception()
444 if (test_bit(NFS_MIG_FAILED, &server->mig_status)) in nfs4_handle_exception()
474 static void renew_lease(const struct nfs_server *server, unsigned long timestamp) in renew_lease() argument
476 do_renew_lease(server->nfs_client, timestamp); in renew_lease()
773 static int nfs4_setup_sequence(const struct nfs_server *server, in nfs4_setup_sequence() argument
778 struct nfs4_session *session = nfs4_get_session(server); in nfs4_setup_sequence()
782 return nfs40_setup_sequence(server->nfs_client->cl_slot_tbl, in nfs4_setup_sequence()
819 static int nfs4_setup_sequence(const struct nfs_server *server, in nfs4_setup_sequence() argument
824 return nfs40_setup_sequence(server->nfs_client->cl_slot_tbl, in nfs4_setup_sequence()
856 struct nfs_server *server, in nfs4_call_sync_sequence() argument
863 struct nfs_client *clp = server->nfs_client; in nfs4_call_sync_sequence()
865 .seq_server = server, in nfs4_call_sync_sequence()
887 struct nfs_server *server, in nfs4_call_sync() argument
894 return nfs4_call_sync_sequence(clnt, server, msg, args, res); in nfs4_call_sync()
934 static bool nfs4_clear_cap_atomic_open_v1(struct nfs_server *server, in nfs4_clear_cap_atomic_open_v1() argument
939 if (!(server->caps & NFS_CAP_ATOMIC_OPEN_V1)) in nfs4_clear_cap_atomic_open_v1()
941 server->caps &= ~NFS_CAP_ATOMIC_OPEN_V1; in nfs4_clear_cap_atomic_open_v1()
947 nfs4_map_atomic_open_share(struct nfs_server *server, in nfs4_map_atomic_open_share() argument
962 if (!(server->caps & NFS_CAP_ATOMIC_OPEN_V1)) in nfs4_map_atomic_open_share()
972 nfs4_map_atomic_open_claim(struct nfs_server *server, in nfs4_map_atomic_open_claim() argument
975 if (server->caps & NFS_CAP_ATOMIC_OPEN_V1) in nfs4_map_atomic_open_claim()
995 p->o_res.server = p->o_arg.server; in nfs4_init_opendata_res()
1010 struct nfs_server *server = NFS_SERVER(dir); in nfs4_opendata_alloc() local
1018 p->f_label = nfs4_label_alloc(server, gfp_mask); in nfs4_opendata_alloc()
1022 alloc_seqid = server->nfs_client->cl_mvops->alloc_seqid; in nfs4_opendata_alloc()
1033 p->o_arg.share_access = nfs4_map_atomic_open_share(server, in nfs4_opendata_alloc()
1043 p->o_arg.clientid = server->nfs_client->cl_clientid; in nfs4_opendata_alloc()
1047 p->o_arg.server = server; in nfs4_opendata_alloc()
1048 p->o_arg.bitmask = nfs4_bitmask(server, label); in nfs4_opendata_alloc()
1051 p->o_arg.claim = nfs4_map_atomic_open_claim(server, claim); in nfs4_opendata_alloc()
1660 struct nfs_server *server = NFS_SERVER(state->inode); in nfs4_do_open_reclaim() local
1666 if (nfs4_clear_cap_atomic_open_v1(server, err, &exception)) in nfs4_do_open_reclaim()
1670 nfs4_handle_exception(server, err, &exception); in nfs4_do_open_reclaim()
1688 static int nfs4_handle_delegation_recall_error(struct nfs_server *server, struct nfs4_state *state,… in nfs4_handle_delegation_recall_error() argument
1704 nfs4_schedule_session_recovery(server->nfs_client->cl_session, err); in nfs4_handle_delegation_recall_error()
1711 nfs4_schedule_lease_recovery(server->nfs_client); in nfs4_handle_delegation_recall_error()
1714 nfs4_schedule_migration_recovery(server); in nfs4_handle_delegation_recall_error()
1717 nfs4_schedule_lease_moved_recovery(server->nfs_client); in nfs4_handle_delegation_recall_error()
1725 nfs4_schedule_stateid_recovery(server, state); in nfs4_handle_delegation_recall_error()
1742 struct nfs_server *server = NFS_SERVER(state->inode); in nfs4_open_delegation_recall() local
1753 return nfs4_handle_delegation_recall_error(server, state, stateid, err); in nfs4_open_delegation_recall()
1760 nfs40_setup_sequence(data->o_arg.server->nfs_client->cl_slot_tbl, in nfs4_open_confirm_prepare()
1774 renew_lease(data->o_res.server, data->timestamp); in nfs4_open_confirm_done()
1808 struct nfs_server *server = NFS_SERVER(d_inode(data->dir)); in _nfs4_proc_open_confirm() local
1817 .rpc_client = server->client, in _nfs4_proc_open_confirm()
1881 if (nfs4_setup_sequence(data->o_arg.server, in nfs4_open_prepare()
1929 renew_lease(data->o_res.server, data->timestamp); in nfs4_open_done()
1966 struct nfs_server *server = NFS_SERVER(dir); in nfs4_run_open_task() local
1977 .rpc_client = server->client, in nfs4_run_open_task()
2082 struct nfs_server *server = NFS_SERVER(dir); in _nfs4_proc_open() local
2097 nfs_fattr_map_and_free_names(server, &data->f_attr); in _nfs4_proc_open()
2107 server->caps &= ~NFS_CAP_POSIX_LOCK; in _nfs4_proc_open()
2114 nfs4_proc_getattr(server, &o_res->fh, o_res->f_attr, o_res->f_label); in _nfs4_proc_open()
2118 static int nfs4_recover_expired_lease(struct nfs_server *server) in nfs4_recover_expired_lease() argument
2120 return nfs4_client_recover_expired_lease(server->nfs_client); in nfs4_recover_expired_lease()
2146 struct nfs_server *server = NFS_SERVER(state->inode); in nfs4_do_open_expired() local
2153 if (nfs4_clear_cap_atomic_open_v1(server, err, &exception)) in nfs4_do_open_expired()
2160 nfs4_handle_exception(server, err, &exception); in nfs4_do_open_expired()
2206 struct nfs_server *server = NFS_SERVER(state->inode); in nfs41_check_delegation_stateid() local
2223 status = nfs41_test_stateid(server, &stateid, cred); in nfs41_check_delegation_stateid()
2230 nfs41_free_stateid(server, &stateid, cred); in nfs41_check_delegation_stateid()
2247 struct nfs_server *server = NFS_SERVER(state->inode); in nfs41_check_open_stateid() local
2258 status = nfs41_test_stateid(server, stateid, cred); in nfs41_check_open_stateid()
2264 nfs41_free_stateid(server, stateid, cred); in nfs41_check_open_stateid()
2308 struct nfs_server *server = sp->so_server; in _nfs4_open_and_get_state() local
2324 if (server->caps & NFS_CAP_POSIX_LOCK) in _nfs4_open_and_get_state()
2350 nfs4_schedule_stateid_recovery(server, state); in _nfs4_open_and_get_state()
2368 struct nfs_server *server = NFS_SERVER(dir); in _nfs4_do_open() local
2380 sp = nfs4_get_state_owner(server, cred, GFP_KERNEL); in _nfs4_do_open()
2385 status = nfs4_recover_expired_lease(server); in _nfs4_do_open()
2399 olabel = nfs4_label_alloc(server, GFP_KERNEL); in _nfs4_do_open()
2406 if (server->attr_bitmask[2] & FATTR4_WORD2_MDSTHRESHOLD) { in _nfs4_do_open()
2439 if (pnfs_use_threshold(ctx_th, opendata->f_attr.mdsthreshold, server)) { in _nfs4_do_open()
2467 struct nfs_server *server = NFS_SERVER(dir); in nfs4_do_open() local
2511 if (nfs4_clear_cap_atomic_open_v1(server, status, &exception)) in nfs4_do_open()
2513 res = ERR_PTR(nfs4_handle_exception(server, in nfs4_do_open()
2524 struct nfs_server *server = NFS_SERVER(inode); in _nfs4_do_setattr() local
2528 .server = server, in _nfs4_do_setattr()
2529 .bitmask = server->attr_bitmask, in _nfs4_do_setattr()
2535 .server = server, in _nfs4_do_setattr()
2548 arg.bitmask = nfs4_bitmask(server, ilabel); in _nfs4_do_setattr()
2550 arg.bitmask = nfs4_bitmask(server, olabel); in _nfs4_do_setattr()
2573 status = nfs4_call_sync(server->client, server, &msg, &arg.seq_args, &res.seq_res, 1); in _nfs4_do_setattr()
2575 renew_lease(server, timestamp); in _nfs4_do_setattr()
2584 struct nfs_server *server = NFS_SERVER(inode); in nfs4_do_setattr() local
2600 server->nfs_client->cl_hostname); in nfs4_do_setattr()
2609 err = nfs4_handle_exception(server, err, &exception); in nfs4_do_setattr()
2645 struct nfs_server *server = NFS_SERVER(calldata->inode); in nfs4_close_done() local
2661 renew_lease(server, calldata->timestamp); in nfs4_close_done()
2676 if (nfs4_async_handle_error(task, server, state, NULL) == -EAGAIN) { in nfs4_close_done()
2786 struct nfs_server *server = NFS_SERVER(state->inode); in nfs4_do_close() local
2796 .rpc_client = server->client, in nfs4_do_close()
2804 nfs4_state_protect(server->nfs_client, NFS_SP4_MACH_CRED_CLEANUP, in nfs4_do_close()
2815 alloc_seqid = server->nfs_client->cl_mvops->alloc_seqid; in nfs4_do_close()
2820 calldata->arg.bitmask = server->cache_consistency_bitmask; in nfs4_do_close()
2823 calldata->res.server = server; in nfs4_do_close()
2879 static int _nfs4_server_capabilities(struct nfs_server *server, struct nfs_fh *fhandle) in _nfs4_server_capabilities() argument
2892 status = nfs4_call_sync(server->client, server, &msg, &args.seq_args, &res.seq_res, 0); in _nfs4_server_capabilities()
2895 switch (server->nfs_client->cl_minorversion) { in _nfs4_server_capabilities()
2906 memcpy(server->attr_bitmask, res.attr_bitmask, sizeof(server->attr_bitmask)); in _nfs4_server_capabilities()
2907 server->caps &= ~(NFS_CAP_ACLS|NFS_CAP_HARDLINKS| in _nfs4_server_capabilities()
2915 server->caps |= NFS_CAP_ACLS; in _nfs4_server_capabilities()
2917 server->caps |= NFS_CAP_HARDLINKS; in _nfs4_server_capabilities()
2919 server->caps |= NFS_CAP_SYMLINKS; in _nfs4_server_capabilities()
2921 server->caps |= NFS_CAP_FILEID; in _nfs4_server_capabilities()
2923 server->caps |= NFS_CAP_MODE; in _nfs4_server_capabilities()
2925 server->caps |= NFS_CAP_NLINK; in _nfs4_server_capabilities()
2927 server->caps |= NFS_CAP_OWNER; in _nfs4_server_capabilities()
2929 server->caps |= NFS_CAP_OWNER_GROUP; in _nfs4_server_capabilities()
2931 server->caps |= NFS_CAP_ATIME; in _nfs4_server_capabilities()
2933 server->caps |= NFS_CAP_CTIME; in _nfs4_server_capabilities()
2935 server->caps |= NFS_CAP_MTIME; in _nfs4_server_capabilities()
2938 server->caps |= NFS_CAP_SECURITY_LABEL; in _nfs4_server_capabilities()
2940 memcpy(server->attr_bitmask_nl, res.attr_bitmask, in _nfs4_server_capabilities()
2941 sizeof(server->attr_bitmask)); in _nfs4_server_capabilities()
2942 server->attr_bitmask_nl[2] &= ~FATTR4_WORD2_SECURITY_LABEL; in _nfs4_server_capabilities()
2944 …memcpy(server->cache_consistency_bitmask, res.attr_bitmask, sizeof(server->cache_consistency_bitma… in _nfs4_server_capabilities()
2945 server->cache_consistency_bitmask[0] &= FATTR4_WORD0_CHANGE|FATTR4_WORD0_SIZE; in _nfs4_server_capabilities()
2946 server->cache_consistency_bitmask[1] &= FATTR4_WORD1_TIME_METADATA|FATTR4_WORD1_TIME_MODIFY; in _nfs4_server_capabilities()
2947 server->cache_consistency_bitmask[2] = 0; in _nfs4_server_capabilities()
2948 server->acl_bitmask = res.acl_bitmask; in _nfs4_server_capabilities()
2949 server->fh_expire_type = res.fh_expire_type; in _nfs4_server_capabilities()
2955 int nfs4_server_capabilities(struct nfs_server *server, struct nfs_fh *fhandle) in nfs4_server_capabilities() argument
2960 err = nfs4_handle_exception(server, in nfs4_server_capabilities()
2961 _nfs4_server_capabilities(server, fhandle), in nfs4_server_capabilities()
2967 static int _nfs4_lookup_root(struct nfs_server *server, struct nfs_fh *fhandle, in _nfs4_lookup_root() argument
2975 .server = server, in _nfs4_lookup_root()
2993 return nfs4_call_sync(server->client, server, &msg, &args.seq_args, &res.seq_res, 0); in _nfs4_lookup_root()
2996 static int nfs4_lookup_root(struct nfs_server *server, struct nfs_fh *fhandle, in nfs4_lookup_root() argument
3002 err = _nfs4_lookup_root(server, fhandle, info); in nfs4_lookup_root()
3003 trace_nfs4_lookup_root(server, fhandle, info->fattr, err); in nfs4_lookup_root()
3009 err = nfs4_handle_exception(server, err, &exception); in nfs4_lookup_root()
3016 static int nfs4_lookup_root_sec(struct nfs_server *server, struct nfs_fh *fhandle, in nfs4_lookup_root_sec() argument
3025 auth = rpcauth_create(&auth_args, server->client); in nfs4_lookup_root_sec()
3030 ret = nfs4_lookup_root(server, fhandle, info); in nfs4_lookup_root_sec()
3044 static int nfs4_find_root_sec(struct nfs_server *server, struct nfs_fh *fhandle, in nfs4_find_root_sec() argument
3058 if (server->auth_info.flavor_len > 0) { in nfs4_find_root_sec()
3060 for (i = 0; i < server->auth_info.flavor_len; i++) { in nfs4_find_root_sec()
3061 status = nfs4_lookup_root_sec(server, fhandle, info, in nfs4_find_root_sec()
3062 server->auth_info.flavors[i]); in nfs4_find_root_sec()
3070 status = nfs4_lookup_root_sec(server, fhandle, info, in nfs4_find_root_sec()
3090 static int nfs4_do_find_root_sec(struct nfs_server *server, in nfs4_do_find_root_sec() argument
3093 int mv = server->nfs_client->cl_minorversion; in nfs4_do_find_root_sec()
3094 return nfs_v4_minor_ops[mv]->find_root_sec(server, fhandle, info); in nfs4_do_find_root_sec()
3106 int nfs4_proc_get_rootfh(struct nfs_server *server, struct nfs_fh *fhandle, in nfs4_proc_get_rootfh() argument
3113 status = nfs4_lookup_root(server, fhandle, info); in nfs4_proc_get_rootfh()
3116 status = nfs4_do_find_root_sec(server, fhandle, info); in nfs4_proc_get_rootfh()
3119 status = nfs4_server_capabilities(server, fhandle); in nfs4_proc_get_rootfh()
3121 status = nfs4_do_fsinfo(server, fhandle, info); in nfs4_proc_get_rootfh()
3126 static int nfs4_proc_get_root(struct nfs_server *server, struct nfs_fh *mntfh, in nfs4_proc_get_root() argument
3133 error = nfs4_server_capabilities(server, mntfh); in nfs4_proc_get_root()
3139 label = nfs4_label_alloc(server, GFP_KERNEL); in nfs4_proc_get_root()
3143 error = nfs4_proc_getattr(server, mntfh, fattr, label); in nfs4_proc_get_root()
3150 !nfs_fsid_equal(&server->fsid, &fattr->fsid)) in nfs4_proc_get_root()
3151 memcpy(&server->fsid, &fattr->fsid, sizeof(server->fsid)); in nfs4_proc_get_root()
3207 static int _nfs4_proc_getattr(struct nfs_server *server, struct nfs_fh *fhandle, in _nfs4_proc_getattr() argument
3212 .bitmask = server->attr_bitmask, in _nfs4_proc_getattr()
3217 .server = server, in _nfs4_proc_getattr()
3225 args.bitmask = nfs4_bitmask(server, label); in _nfs4_proc_getattr()
3228 return nfs4_call_sync(server->client, server, &msg, &args.seq_args, &res.seq_res, 0); in _nfs4_proc_getattr()
3231 static int nfs4_proc_getattr(struct nfs_server *server, struct nfs_fh *fhandle, in nfs4_proc_getattr() argument
3237 err = _nfs4_proc_getattr(server, fhandle, fattr, label); in nfs4_proc_getattr()
3238 trace_nfs4_getattr(server, fhandle, fattr, err); in nfs4_proc_getattr()
3239 err = nfs4_handle_exception(server, err, in nfs4_proc_getattr()
3315 struct nfs_server *server = NFS_SERVER(dir); in _nfs4_proc_lookup() local
3318 .bitmask = server->attr_bitmask, in _nfs4_proc_lookup()
3323 .server = server, in _nfs4_proc_lookup()
3334 args.bitmask = nfs4_bitmask(server, label); in _nfs4_proc_lookup()
3339 status = nfs4_call_sync(clnt, server, &msg, &args.seq_args, &res.seq_res, 0); in _nfs4_proc_lookup()
3423 struct nfs_server *server = NFS_SERVER(inode); in _nfs4_proc_access() local
3426 .bitmask = server->cache_consistency_bitmask, in _nfs4_proc_access()
3429 .server = server, in _nfs4_proc_access()
3461 status = nfs4_call_sync(server->client, server, &msg, &args.seq_args, &res.seq_res, 0); in _nfs4_proc_access()
3571 struct nfs_server *server = NFS_SERVER(dir); in _nfs4_proc_remove() local
3577 .server = server, in _nfs4_proc_remove()
3586 status = nfs4_call_sync(server->client, server, &msg, &args.seq_args, &res.seq_res, 1); in _nfs4_proc_remove()
3607 struct nfs_server *server = NFS_SERVER(dir); in nfs4_proc_unlink_setup() local
3611 res->server = server; in nfs4_proc_unlink_setup()
3633 if (nfs4_async_handle_error(task, res->server, NULL, in nfs4_proc_unlink_done()
3642 struct nfs_server *server = NFS_SERVER(dir); in nfs4_proc_rename_setup() local
3647 res->server = server; in nfs4_proc_rename_setup()
3667 if (nfs4_async_handle_error(task, res->server, NULL, &data->timeout) == -EAGAIN) in nfs4_proc_rename_done()
3677 struct nfs_server *server = NFS_SERVER(inode); in _nfs4_proc_link() local
3682 .bitmask = server->attr_bitmask, in _nfs4_proc_link()
3685 .server = server, in _nfs4_proc_link()
3699 res.label = nfs4_label_alloc(server, GFP_KERNEL); in _nfs4_proc_link()
3704 arg.bitmask = nfs4_bitmask(server, res.label); in _nfs4_proc_link()
3706 status = nfs4_call_sync(server->client, server, &msg, &arg.seq_args, &res.seq_res, 1); in _nfs4_proc_link()
3750 struct nfs_server *server = NFS_SERVER(dir); in nfs4_alloc_createdata() local
3752 data->label = nfs4_label_alloc(server, GFP_KERNEL); in nfs4_alloc_createdata()
3760 data->arg.server = server; in nfs4_alloc_createdata()
3764 data->arg.bitmask = nfs4_bitmask(server, data->label); in nfs4_alloc_createdata()
3765 data->res.server = server; in nfs4_alloc_createdata()
3990 static int _nfs4_proc_statfs(struct nfs_server *server, struct nfs_fh *fhandle, in _nfs4_proc_statfs() argument
3995 .bitmask = server->attr_bitmask, in _nfs4_proc_statfs()
4007 return nfs4_call_sync(server->client, server, &msg, &args.seq_args, &res.seq_res, 0); in _nfs4_proc_statfs()
4010 static int nfs4_proc_statfs(struct nfs_server *server, struct nfs_fh *fhandle, struct nfs_fsstat *f… in nfs4_proc_statfs() argument
4015 err = nfs4_handle_exception(server, in nfs4_proc_statfs()
4016 _nfs4_proc_statfs(server, fhandle, fsstat), in nfs4_proc_statfs()
4022 static int _nfs4_do_fsinfo(struct nfs_server *server, struct nfs_fh *fhandle, in _nfs4_do_fsinfo() argument
4027 .bitmask = server->attr_bitmask, in _nfs4_do_fsinfo()
4038 return nfs4_call_sync(server->client, server, &msg, &args.seq_args, &res.seq_res, 0); in _nfs4_do_fsinfo()
4041 static int nfs4_do_fsinfo(struct nfs_server *server, struct nfs_fh *fhandle, struct nfs_fsinfo *fsi… in nfs4_do_fsinfo() argument
4048 err = _nfs4_do_fsinfo(server, fhandle, fsinfo); in nfs4_do_fsinfo()
4049 trace_nfs4_fsinfo(server, fhandle, fsinfo->fattr, err); in nfs4_do_fsinfo()
4051 struct nfs_client *clp = server->nfs_client; in nfs4_do_fsinfo()
4059 err = nfs4_handle_exception(server, err, &exception); in nfs4_do_fsinfo()
4064 static int nfs4_proc_fsinfo(struct nfs_server *server, struct nfs_fh *fhandle, struct nfs_fsinfo *f… in nfs4_proc_fsinfo() argument
4069 error = nfs4_do_fsinfo(server, fhandle, fsinfo); in nfs4_proc_fsinfo()
4072 server->pnfs_blksize = fsinfo->blksize; in nfs4_proc_fsinfo()
4073 set_pnfs_layoutdriver(server, fhandle, fsinfo->layouttype); in nfs4_proc_fsinfo()
4079 static int _nfs4_proc_pathconf(struct nfs_server *server, struct nfs_fh *fhandle, in _nfs4_proc_pathconf() argument
4084 .bitmask = server->attr_bitmask, in _nfs4_proc_pathconf()
4102 return nfs4_call_sync(server->client, server, &msg, &args.seq_args, &res.seq_res, 0); in _nfs4_proc_pathconf()
4105 static int nfs4_proc_pathconf(struct nfs_server *server, struct nfs_fh *fhandle, in nfs4_proc_pathconf() argument
4112 err = nfs4_handle_exception(server, in nfs4_proc_pathconf()
4113 _nfs4_proc_pathconf(server, fhandle, pathconf), in nfs4_proc_pathconf()
4167 struct nfs_server *server = NFS_SERVER(hdr->inode); in nfs4_read_done_cb() local
4170 if (nfs4_async_handle_error(task, server, in nfs4_read_done_cb()
4179 renew_lease(server, hdr->timestamp); in nfs4_read_done_cb()
4294 struct nfs_server *server = NFS_SERVER(hdr->inode); in nfs4_proc_write_setup() local
4300 hdr->args.bitmask = server->cache_consistency_bitmask; in nfs4_proc_write_setup()
4304 hdr->res.server = server; in nfs4_proc_write_setup()
4341 struct nfs_server *server = NFS_SERVER(data->inode); in nfs4_proc_commit_setup() local
4345 data->res.server = server; in nfs4_proc_commit_setup()
4440 static inline int nfs4_server_supports_acls(struct nfs_server *server) in nfs4_server_supports_acls() argument
4442 return server->caps & NFS_CAP_ACLS; in nfs4_server_supports_acls()
4648 struct nfs_server *server = NFS_SERVER(inode); in nfs4_proc_get_acl() local
4651 if (!nfs4_server_supports_acls(server)) in nfs4_proc_get_acl()
4653 ret = nfs_revalidate_inode(server, inode); in nfs4_proc_get_acl()
4668 struct nfs_server *server = NFS_SERVER(inode); in __nfs4_proc_set_acl() local
4684 if (!nfs4_server_supports_acls(server)) in __nfs4_proc_set_acl()
4692 ret = nfs4_call_sync(server->client, server, &msg, &arg.seq_args, &res.seq_res, 1); in __nfs4_proc_set_acl()
4730 struct nfs_server *server = NFS_SERVER(inode); in _nfs4_get_security_label() local
4742 .server = server, in _nfs4_get_security_label()
4753 ret = nfs4_call_sync(server->client, server, &msg, &arg.seq_args, &res.seq_res, 0); in _nfs4_get_security_label()
4788 struct nfs_server *server = NFS_SERVER(inode); in _nfs4_do_set_security_label() local
4793 .server = server, in _nfs4_do_set_security_label()
4800 .server = server, in _nfs4_do_set_security_label()
4811 status = nfs4_call_sync(server->client, server, &msg, &arg.seq_args, &res.seq_res, 1); in _nfs4_do_set_security_label()
4878 nfs4_async_handle_error(struct rpc_task *task, const struct nfs_server *server, in nfs4_async_handle_error() argument
4881 struct nfs_client *clp = server->nfs_client; in nfs4_async_handle_error()
4892 if (nfs4_schedule_stateid_recovery(server, state) < 0) in nfs4_async_handle_error()
4897 if (nfs4_schedule_stateid_recovery(server, state) < 0) in nfs4_async_handle_error()
4905 if (nfs4_schedule_migration_recovery(server) < 0) in nfs4_async_handle_error()
4925 nfs_inc_server_stats(server, NFSIOS_DELAY); in nfs4_async_handle_error()
4943 if (test_bit(NFS_MIG_FAILED, &server->mig_status)) in nfs4_async_handle_error()
5167 renew_lease(data->res.server, data->timestamp); in nfs4_delegreturn_done()
5179 if (nfs4_async_handle_error(task, data->res.server, in nfs4_delegreturn_done()
5211 nfs4_setup_sequence(d_data->res.server, in nfs4_delegreturn_prepare()
5226 struct nfs_server *server = NFS_SERVER(inode); in _nfs4_proc_delegreturn() local
5233 .rpc_client = server->client, in _nfs4_proc_delegreturn()
5246 data->args.bitmask = server->cache_consistency_bitmask; in _nfs4_proc_delegreturn()
5250 data->res.server = server; in _nfs4_proc_delegreturn()
5281 struct nfs_server *server = NFS_SERVER(inode); in nfs4_proc_delegreturn() local
5293 err = nfs4_handle_exception(server, err, &exception); in nfs4_proc_delegreturn()
5317 struct nfs_server *server = NFS_SERVER(inode); in _nfs4_proc_getlk() local
5318 struct nfs_client *clp = server->nfs_client; in _nfs4_proc_getlk()
5341 arg.lock_owner.s_dev = server->s_dev; in _nfs4_proc_getlk()
5342 status = nfs4_call_sync(server->client, server, &msg, &arg.seq_args, &res.seq_res, 1); in _nfs4_proc_getlk()
5392 const struct nfs_server *server; member
5416 p->server = NFS_SERVER(inode); in nfs4_alloc_unlockdata()
5437 renew_lease(calldata->server, calldata->timestamp); in nfs4_locku_done()
5451 if (nfs4_async_handle_error(task, calldata->server, in nfs4_locku_done()
5470 if (nfs4_setup_sequence(calldata->server, in nfs4_locku_prepare()
5585 struct nfs_server *server; member
5594 struct nfs_server *server = NFS_SERVER(inode); in nfs4_alloc_lockdata() local
5606 alloc_seqid = server->nfs_client->cl_mvops->alloc_seqid; in nfs4_alloc_lockdata()
5610 p->arg.lock_owner.clientid = server->nfs_client->cl_clientid; in nfs4_alloc_lockdata()
5612 p->arg.lock_owner.s_dev = server->s_dev; in nfs4_alloc_lockdata()
5615 p->server = server; in nfs4_alloc_lockdata()
5656 if (nfs4_setup_sequence(data->server, in nfs4_lock_prepare()
5742 static void nfs4_handle_setlk_error(struct nfs_server *server, struct nfs4_lock_state *lsp, int new… in nfs4_handle_setlk_error() argument
5750 nfs4_schedule_stateid_recovery(server, lsp->ls_state); in nfs4_handle_setlk_error()
5755 nfs4_schedule_lease_recovery(server->nfs_client); in nfs4_handle_setlk_error()
5801 nfs4_handle_setlk_error(data->server, data->lsp, in _nfs4_do_setlk()
5812 struct nfs_server *server = NFS_SERVER(state->inode); in nfs4_lock_reclaim() local
5826 nfs4_handle_exception(server, err, &exception); in nfs4_lock_reclaim()
5833 struct nfs_server *server = NFS_SERVER(state->inode); in nfs4_lock_expired() local
5856 nfs4_handle_exception(server, err, &exception); in nfs4_lock_expired()
5877 struct nfs_server *server = NFS_SERVER(state->inode); in nfs41_check_expired_locks() local
5883 status = nfs41_test_stateid(server, in nfs41_check_expired_locks()
5891 nfs41_free_stateid(server, in nfs41_check_expired_locks()
6027 struct nfs_server *server = NFS_SERVER(state->inode); in nfs4_lock_delegation_recall() local
6034 return nfs4_handle_delegation_recall_error(server, state, stateid, err); in nfs4_lock_delegation_recall()
6039 struct nfs_server *server; member
6048 struct nfs_server *server = data->server; in nfs4_release_lockowner_prepare() local
6049 nfs40_setup_sequence(server->nfs_client->cl_slot_tbl, in nfs4_release_lockowner_prepare()
6051 data->args.lock_owner.clientid = server->nfs_client->cl_clientid; in nfs4_release_lockowner_prepare()
6058 struct nfs_server *server = data->server; in nfs4_release_lockowner_done() local
6064 renew_lease(server, data->timestamp); in nfs4_release_lockowner_done()
6068 nfs4_schedule_lease_recovery(server->nfs_client); in nfs4_release_lockowner_done()
6072 if (nfs4_async_handle_error(task, server, in nfs4_release_lockowner_done()
6081 nfs4_free_lock_state(data->server, data->lsp); in nfs4_release_lockowner_release()
6092 nfs4_release_lockowner(struct nfs_server *server, struct nfs4_lock_state *lsp) in nfs4_release_lockowner() argument
6099 if (server->nfs_client->cl_mvops->minor_version != 0) in nfs4_release_lockowner()
6106 data->server = server; in nfs4_release_lockowner()
6107 data->args.lock_owner.clientid = server->nfs_client->cl_clientid; in nfs4_release_lockowner()
6109 data->args.lock_owner.s_dev = server->s_dev; in nfs4_release_lockowner()
6114 rpc_call_async(server->client, &msg, 0, &nfs4_release_lockowner_ops, data); in nfs4_release_lockowner()
6153 static inline int nfs4_server_supports_labels(struct nfs_server *server) in nfs4_server_supports_labels() argument
6155 return server->caps & NFS_CAP_SECURITY_LABEL; in nfs4_server_supports_labels()
6221 struct nfs_server *server = NFS_SERVER(dir); in _nfs4_proc_fs_locations() local
6251 fs_locations->server = server; in _nfs4_proc_fs_locations()
6253 status = nfs4_call_sync(client, server, &msg, &args.seq_args, &res.seq_res, 0); in _nfs4_proc_fs_locations()
6286 struct nfs_server *server = NFS_SERVER(inode); in _nfs40_proc_get_locations() local
6287 struct rpc_clnt *clnt = server->client; in _nfs40_proc_get_locations()
6292 .clientid = server->nfs_client->cl_clientid, in _nfs40_proc_get_locations()
6314 locations->server = server; in _nfs40_proc_get_locations()
6319 status = nfs4_call_sync_sequence(clnt, server, &msg, in _nfs40_proc_get_locations()
6324 renew_lease(server, now); in _nfs40_proc_get_locations()
6344 struct nfs_server *server = NFS_SERVER(inode); in _nfs41_proc_get_locations() local
6345 struct rpc_clnt *clnt = server->client; in _nfs41_proc_get_locations()
6368 locations->server = server; in _nfs41_proc_get_locations()
6373 status = nfs4_call_sync_sequence(clnt, server, &msg, in _nfs41_proc_get_locations()
6404 struct nfs_server *server = NFS_SERVER(inode); in nfs4_proc_get_locations() local
6405 struct nfs_client *clp = server->nfs_client; in nfs4_proc_get_locations()
6412 (unsigned long long)server->fsid.major, in nfs4_proc_get_locations()
6413 (unsigned long long)server->fsid.minor, in nfs4_proc_get_locations()
6421 nfs4_handle_exception(server, status, &exception); in nfs4_proc_get_locations()
6435 struct nfs_server *server = NFS_SERVER(inode); in _nfs40_proc_fsid_present() local
6437 struct rpc_clnt *clnt = server->client; in _nfs40_proc_fsid_present()
6461 status = nfs4_call_sync_sequence(clnt, server, &msg, in _nfs40_proc_fsid_present()
6482 struct nfs_server *server = NFS_SERVER(inode); in _nfs41_proc_fsid_present() local
6483 struct rpc_clnt *clnt = server->client; in _nfs41_proc_fsid_present()
6503 status = nfs4_call_sync_sequence(clnt, server, &msg, in _nfs41_proc_fsid_present()
6530 struct nfs_server *server = NFS_SERVER(inode); in nfs4_proc_fsid_present() local
6531 struct nfs_client *clp = server->nfs_client; in nfs4_proc_fsid_present()
6538 (unsigned long long)server->fsid.major, in nfs4_proc_fsid_present()
6539 (unsigned long long)server->fsid.minor, in nfs4_proc_fsid_present()
6547 nfs4_handle_exception(server, status, &exception); in nfs4_proc_fsid_present()
7626 struct nfs_server *server = NFS_SERVER(lgp->args.inode); in nfs4_layoutget_prepare() local
7627 struct nfs4_session *session = nfs4_get_session(server); in nfs4_layoutget_prepare()
7650 struct nfs_server *server = NFS_SERVER(inode); in nfs4_layoutget_done() local
7719 if (nfs4_async_handle_error(task, server, state, NULL) == -EAGAIN) in nfs4_layoutget_done()
7725 static size_t max_response_pages(struct nfs_server *server) in max_response_pages() argument
7727 u32 max_resp_sz = server->nfs_client->cl_session->fc_attrs.max_resp_sz; in max_response_pages()
7773 struct nfs_server *server = NFS_SERVER(inode); in nfs4_layoutget_release() local
7774 size_t max_pages = max_response_pages(server); in nfs4_layoutget_release()
7794 struct nfs_server *server = NFS_SERVER(inode); in nfs4_proc_layoutget() local
7795 size_t max_pages = max_response_pages(server); in nfs4_proc_layoutget()
7804 .rpc_client = server->client, in nfs4_proc_layoutget()
7865 struct nfs_server *server; in nfs4_layoutreturn_done() local
7872 server = NFS_SERVER(lrp->args.inode); in nfs4_layoutreturn_done()
7879 if (nfs4_async_handle_error(task, server, NULL, NULL) != -EAGAIN) in nfs4_layoutreturn_done()
7952 _nfs4_proc_getdeviceinfo(struct nfs_server *server, in _nfs4_proc_getdeviceinfo() argument
7973 status = nfs4_call_sync(server->client, server, &msg, &args.seq_args, &res.seq_res, 0); in _nfs4_proc_getdeviceinfo()
7984 int nfs4_proc_getdeviceinfo(struct nfs_server *server, in nfs4_proc_getdeviceinfo() argument
7992 err = nfs4_handle_exception(server, in nfs4_proc_getdeviceinfo()
7993 _nfs4_proc_getdeviceinfo(server, pdev, cred), in nfs4_proc_getdeviceinfo()
8003 struct nfs_server *server = NFS_SERVER(data->args.inode); in nfs4_layoutcommit_prepare() local
8004 struct nfs4_session *session = nfs4_get_session(server); in nfs4_layoutcommit_prepare()
8016 struct nfs_server *server = NFS_SERVER(data->args.inode); in nfs4_layoutcommit_done() local
8030 if (nfs4_async_handle_error(task, server, NULL, NULL) == -EAGAIN) { in nfs4_layoutcommit_done()
8105 _nfs41_proc_secinfo_no_name(struct nfs_server *server, struct nfs_fh *fhandle, in _nfs41_proc_secinfo_no_name() argument
8120 struct rpc_clnt *clnt = server->client; in _nfs41_proc_secinfo_no_name()
8125 clnt = server->nfs_client->cl_rpcclient; in _nfs41_proc_secinfo_no_name()
8126 cred = nfs4_get_clid_cred(server->nfs_client); in _nfs41_proc_secinfo_no_name()
8131 status = nfs4_call_sync(clnt, server, &msg, &args.seq_args, in _nfs41_proc_secinfo_no_name()
8142 nfs41_proc_secinfo_no_name(struct nfs_server *server, struct nfs_fh *fhandle, in nfs41_proc_secinfo_no_name() argument
8152 if (_nfs4_is_integrity_protected(server->nfs_client)) in nfs41_proc_secinfo_no_name()
8153 err = _nfs41_proc_secinfo_no_name(server, fhandle, info, in nfs41_proc_secinfo_no_name()
8163 err = _nfs41_proc_secinfo_no_name(server, fhandle, info, in nfs41_proc_secinfo_no_name()
8172 err = nfs4_handle_exception(server, err, &exception); in nfs41_proc_secinfo_no_name()
8180 nfs41_find_root_sec(struct nfs_server *server, struct nfs_fh *fhandle, in nfs41_find_root_sec() argument
8197 err = nfs41_proc_secinfo_no_name(server, fhandle, info, flavors); in nfs41_find_root_sec()
8204 err = nfs4_find_root_sec(server, fhandle, info); in nfs41_find_root_sec()
8225 if (!nfs_auth_info_match(&server->auth_info, flavor)) in nfs41_find_root_sec()
8229 err = nfs4_lookup_root_sec(server, fhandle, in nfs41_find_root_sec()
8247 static int _nfs41_test_stateid(struct nfs_server *server, in _nfs41_test_stateid() argument
8262 struct rpc_clnt *rpc_client = server->client; in _nfs41_test_stateid()
8264 nfs4_state_protect(server->nfs_client, NFS_SP4_MACH_CRED_STATEID, in _nfs41_test_stateid()
8270 status = nfs4_call_sync_sequence(rpc_client, server, &msg, in _nfs41_test_stateid()
8291 static int nfs41_test_stateid(struct nfs_server *server, in nfs41_test_stateid() argument
8298 err = _nfs41_test_stateid(server, stateid, cred); in nfs41_test_stateid()
8301 nfs4_handle_exception(server, err, &exception); in nfs41_test_stateid()
8307 struct nfs_server *server; member
8315 nfs41_setup_sequence(nfs4_get_session(data->server), in nfs41_free_stateid_prepare()
8329 if (nfs4_async_handle_error(task, data->server, NULL, NULL) == -EAGAIN) in nfs41_free_stateid_done()
8345 static struct rpc_task *_nfs41_free_stateid(struct nfs_server *server, in _nfs41_free_stateid() argument
8355 .rpc_client = server->client, in _nfs41_free_stateid()
8362 nfs4_state_protect(server->nfs_client, NFS_SP4_MACH_CRED_STATEID, in _nfs41_free_stateid()
8369 data->server = server; in _nfs41_free_stateid()
8393 static int nfs41_free_stateid(struct nfs_server *server, in nfs41_free_stateid() argument
8400 task = _nfs41_free_stateid(server, stateid, cred, true); in nfs41_free_stateid()
8411 nfs41_free_lock_state(struct nfs_server *server, struct nfs4_lock_state *lsp) in nfs41_free_lock_state() argument
8416 task = _nfs41_free_stateid(server, &lsp->ls_stateid, cred, false); in nfs41_free_lock_state()
8417 nfs4_free_lock_state(server, lsp); in nfs41_free_lock_state()