Lines Matching refs:server
96 static int _nfs4_proc_getattr(struct nfs_server *server, struct nfs_fh *fhandle,
139 static inline u32 *nfs4_bitmask(struct nfs_server *server, struct nfs4_label *label) in nfs4_bitmask() argument
142 return server->attr_bitmask; in nfs4_bitmask()
144 return server->attr_bitmask_nl; in nfs4_bitmask()
155 nfs4_bitmask(struct nfs_server *server, struct nfs4_label *label) in nfs4_bitmask() argument
156 { return server->attr_bitmask; } in nfs4_bitmask()
374 static void nfs4_test_and_free_stateid(struct nfs_server *server, in nfs4_test_and_free_stateid() argument
378 const struct nfs4_minor_version_ops *ops = server->nfs_client->cl_mvops; in nfs4_test_and_free_stateid()
380 ops->test_and_free_expired(server, stateid, cred); in nfs4_test_and_free_stateid()
383 static void __nfs4_free_revoked_stateid(struct nfs_server *server, in __nfs4_free_revoked_stateid() argument
388 nfs4_test_and_free_stateid(server, stateid, cred); in __nfs4_free_revoked_stateid()
391 static void nfs4_free_revoked_stateid(struct nfs_server *server, in nfs4_free_revoked_stateid() argument
398 __nfs4_free_revoked_stateid(server, &tmp, cred); in nfs4_free_revoked_stateid()
463 static int nfs4_do_handle_exception(struct nfs_server *server, in nfs4_do_handle_exception() argument
466 struct nfs_client *clp = server->nfs_client; in nfs4_do_handle_exception()
514 ret = nfs4_schedule_stateid_recovery(server, state); in nfs4_do_handle_exception()
523 ret = nfs4_schedule_migration_recovery(server); in nfs4_do_handle_exception()
551 nfs_inc_server_stats(server, NFSIOS_DELAY); in nfs4_do_handle_exception()
566 if (server->caps & NFS_CAP_UIDGID_NOMAP) { in nfs4_do_handle_exception()
567 server->caps &= ~NFS_CAP_UIDGID_NOMAP; in nfs4_do_handle_exception()
573 server->nfs_client->cl_hostname); in nfs4_do_handle_exception()
586 int nfs4_handle_exception(struct nfs_server *server, int errorcode, struct nfs4_exception *exceptio… in nfs4_handle_exception() argument
588 struct nfs_client *clp = server->nfs_client; in nfs4_handle_exception()
591 ret = nfs4_do_handle_exception(server, errorcode, exception); in nfs4_handle_exception()
601 if (test_bit(NFS_MIG_FAILED, &server->mig_status)) in nfs4_handle_exception()
613 nfs4_async_handle_exception(struct rpc_task *task, struct nfs_server *server, in nfs4_async_handle_exception() argument
616 struct nfs_client *clp = server->nfs_client; in nfs4_async_handle_exception()
619 ret = nfs4_do_handle_exception(server, errorcode, exception); in nfs4_async_handle_exception()
632 if (test_bit(NFS_MIG_FAILED, &server->mig_status)) in nfs4_async_handle_exception()
649 nfs4_async_handle_error(struct rpc_task *task, struct nfs_server *server, in nfs4_async_handle_error() argument
660 task->tk_status = nfs4_async_handle_exception(task, server, in nfs4_async_handle_error()
688 static void renew_lease(const struct nfs_server *server, unsigned long timestamp) in renew_lease() argument
690 struct nfs_client *clp = server->nfs_client; in renew_lease()
1133 struct nfs_server *server, in nfs4_do_call_sync() argument
1139 struct nfs_client *clp = server->nfs_client; in nfs4_do_call_sync()
1141 .seq_server = server, in nfs4_do_call_sync()
1157 struct nfs_server *server, in nfs4_call_sync_sequence() argument
1164 if (server->caps & NFS_CAP_MOVEABLE) in nfs4_call_sync_sequence()
1166 return nfs4_do_call_sync(clnt, server, msg, args, res, task_flags); in nfs4_call_sync_sequence()
1171 struct nfs_server *server, in nfs4_call_sync() argument
1178 return nfs4_call_sync_sequence(clnt, server, msg, args, res); in nfs4_call_sync()
1265 static bool nfs4_clear_cap_atomic_open_v1(struct nfs_server *server, in nfs4_clear_cap_atomic_open_v1() argument
1270 if (!(server->caps & NFS_CAP_ATOMIC_OPEN_V1)) in nfs4_clear_cap_atomic_open_v1()
1272 server->caps &= ~NFS_CAP_ATOMIC_OPEN_V1; in nfs4_clear_cap_atomic_open_v1()
1290 nfs4_map_atomic_open_share(struct nfs_server *server, in nfs4_map_atomic_open_share() argument
1305 if (!(server->caps & NFS_CAP_ATOMIC_OPEN_V1)) in nfs4_map_atomic_open_share()
1315 nfs4_map_atomic_open_claim(struct nfs_server *server, in nfs4_map_atomic_open_claim() argument
1318 if (server->caps & NFS_CAP_ATOMIC_OPEN_V1) in nfs4_map_atomic_open_claim()
1337 p->o_res.server = p->o_arg.server; in nfs4_init_opendata_res()
1351 struct nfs_server *server = NFS_SERVER(dir); in nfs4_opendata_alloc() local
1360 p->f_attr.label = nfs4_label_alloc(server, gfp_mask); in nfs4_opendata_alloc()
1364 p->a_label = nfs4_label_alloc(server, gfp_mask); in nfs4_opendata_alloc()
1368 alloc_seqid = server->nfs_client->cl_mvops->alloc_seqid; in nfs4_opendata_alloc()
1379 p->o_arg.claim = nfs4_map_atomic_open_claim(server, claim); in nfs4_opendata_alloc()
1380 p->o_arg.share_access = nfs4_map_atomic_open_share(server, in nfs4_opendata_alloc()
1403 nfs_access_xattr_mask(server); in nfs4_opendata_alloc()
1405 p->o_arg.clientid = server->nfs_client->cl_clientid; in nfs4_opendata_alloc()
1409 p->o_arg.server = server; in nfs4_opendata_alloc()
1410 p->o_arg.bitmask = nfs4_bitmask(server, label); in nfs4_opendata_alloc()
1793 struct nfs_server *server = NFS_SERVER(state->inode); in update_open_stateid() local
1794 struct nfs_client *clp = server->nfs_client; in update_open_stateid()
1838 nfs4_test_and_free_stateid(server, &freeme, in update_open_stateid()
2213 struct nfs_server *server = NFS_SERVER(state->inode); in nfs4_do_open_reclaim() local
2219 if (nfs4_clear_cap_atomic_open_v1(server, err, &exception)) in nfs4_do_open_reclaim()
2223 nfs4_handle_exception(server, err, &exception); in nfs4_do_open_reclaim()
2243 static int nfs4_handle_delegation_recall_error(struct nfs_server *server, struct nfs4_state *state,… in nfs4_handle_delegation_recall_error() argument
2265 nfs4_schedule_lease_recovery(server->nfs_client); in nfs4_handle_delegation_recall_error()
2268 nfs4_schedule_migration_recovery(server); in nfs4_handle_delegation_recall_error()
2271 nfs4_schedule_lease_moved_recovery(server->nfs_client); in nfs4_handle_delegation_recall_error()
2280 nfs4_schedule_stateid_recovery(server, state); in nfs4_handle_delegation_recall_error()
2301 struct nfs_server *server = NFS_SERVER(state->inode); in nfs4_open_delegation_recall() local
2328 return nfs4_handle_delegation_recall_error(server, state, stateid, NULL, err); in nfs4_open_delegation_recall()
2335 nfs4_setup_sequence(data->o_arg.server->nfs_client, in nfs4_open_confirm_prepare()
2349 renew_lease(data->o_res.server, data->timestamp); in nfs4_open_confirm_done()
2383 struct nfs_server *server = NFS_SERVER(d_inode(data->dir)); in _nfs4_proc_open_confirm() local
2392 .rpc_client = server->client, in _nfs4_proc_open_confirm()
2459 if (nfs4_setup_sequence(data->o_arg.server->nfs_client, in nfs4_open_prepare()
2512 renew_lease(data->o_res.server, data->timestamp); in nfs4_open_done()
2550 struct nfs_server *server = NFS_SERVER(dir); in nfs4_run_open_task() local
2561 .rpc_client = server->client, in nfs4_run_open_task()
2670 struct nfs_server *server = NFS_SERVER(dir); in _nfs4_proc_open() local
2685 nfs_fattr_map_and_free_names(server, &data->f_attr); in _nfs4_proc_open()
2699 server->caps &= ~NFS_CAP_POSIX_LOCK; in _nfs4_proc_open()
2707 nfs4_proc_getattr(server, &o_res->fh, o_res->f_attr, NULL); in _nfs4_proc_open()
2735 struct nfs_server *server = NFS_SERVER(state->inode); in nfs4_do_open_expired() local
2742 if (nfs4_clear_cap_atomic_open_v1(server, err, &exception)) in nfs4_do_open_expired()
2749 nfs4_handle_exception(server, err, &exception); in nfs4_do_open_expired()
2791 static int nfs40_test_and_free_expired_stateid(struct nfs_server *server, in nfs40_test_and_free_expired_stateid() argument
2799 static int nfs41_test_and_free_expired_stateid(struct nfs_server *server, in nfs41_test_and_free_expired_stateid() argument
2815 status = nfs41_test_stateid(server, stateid, cred); in nfs41_test_and_free_expired_stateid()
2826 nfs41_free_stateid(server, stateid, cred, true); in nfs41_test_and_free_expired_stateid()
2832 struct nfs_server *server = NFS_SERVER(state->inode); in nfs41_check_delegation_stateid() local
2861 status = nfs41_test_and_free_expired_stateid(server, &stateid, cred); in nfs41_check_delegation_stateid()
2897 struct nfs_server *server = NFS_SERVER(state->inode); in nfs41_check_expired_locks() local
2913 status = nfs41_test_and_free_expired_stateid(server, in nfs41_check_expired_locks()
2947 struct nfs_server *server = NFS_SERVER(state->inode); in nfs41_check_open_stateid() local
2954 status = nfs41_test_and_free_expired_stateid(server, stateid, cred); in nfs41_check_open_stateid()
2993 const __u32 *bitmask = opendata->o_arg.server->exclcreat_bitmask; in nfs4_exclusive_attrset()
3030 struct nfs_server *server = sp->so_server; in _nfs4_open_and_get_state() local
3051 if (server->caps & NFS_CAP_POSIX_LOCK) in _nfs4_open_and_get_state()
3096 nfs4_schedule_stateid_recovery(server, state); in _nfs4_open_and_get_state()
3121 struct nfs_server *server = NFS_SERVER(dir); in _nfs4_do_open() local
3134 sp = nfs4_get_state_owner(server, cred, GFP_KERNEL); in _nfs4_do_open()
3139 status = nfs4_client_recover_expired_lease(server->nfs_client); in _nfs4_do_open()
3152 if (server->attr_bitmask[2] & FATTR4_WORD2_MDSTHRESHOLD) { in _nfs4_do_open()
3194 if (pnfs_use_threshold(ctx_th, opendata->f_attr.mdsthreshold, server)) { in _nfs4_do_open()
3218 struct nfs_server *server = NFS_SERVER(dir); in nfs4_do_open() local
3268 nfs4_schedule_lease_recovery(server->nfs_client); in nfs4_do_open()
3277 if (nfs4_clear_cap_atomic_open_v1(server, status, &exception)) in nfs4_do_open()
3279 res = ERR_PTR(nfs4_handle_exception(server, in nfs4_do_open()
3291 struct nfs_server *server = NFS_SERVER(inode); in _nfs4_do_setattr() local
3335 status = nfs4_call_sync(server->client, server, &msg, &arg->seq_args, &res->seq_res, 1); in _nfs4_do_setattr()
3339 renew_lease(server, timestamp); in _nfs4_do_setattr()
3348 struct nfs_server *server = NFS_SERVER(inode); in nfs4_do_setattr() local
3354 .server = server, in nfs4_do_setattr()
3360 .server = server, in nfs4_do_setattr()
3376 nfs4_bitmap_copy_adjust(bitmask, nfs4_bitmask(server, fattr->label), in nfs4_do_setattr()
3387 server->nfs_client->cl_hostname); in nfs4_do_setattr()
3396 err = nfs4_handle_exception(server, err, &exception); in nfs4_do_setattr()
3543 struct nfs_server *server = NFS_SERVER(calldata->inode); in nfs4_close_done() local
3566 renew_lease(server, calldata->timestamp); in nfs4_close_done()
3585 nfs4_free_revoked_stateid(server, in nfs4_close_done()
3595 server, task->tk_status, &exception); in nfs4_close_done()
3618 struct nfs_server *server = NFS_SERVER(inode); in nfs4_close_prepare() local
3675 server->cache_consistency_bitmask, in nfs4_close_prepare()
3722 struct nfs_server *server = NFS_SERVER(state->inode); in nfs4_do_close() local
3732 .rpc_client = server->client, in nfs4_do_close()
3743 nfs4_state_protect(server->nfs_client, NFS_SP4_MACH_CRED_CLEANUP, in nfs4_do_close()
3756 alloc_seqid = server->nfs_client->cl_mvops->alloc_seqid; in nfs4_do_close()
3765 calldata->res.server = server; in nfs4_do_close()
3827 static int _nfs4_server_capabilities(struct nfs_server *server, struct nfs_fh *fhandle) in _nfs4_server_capabilities() argument
3829 u32 bitmask[3] = {}, minorversion = server->nfs_client->cl_minorversion; in _nfs4_server_capabilities()
3853 status = nfs4_call_sync(server->client, server, &msg, &args.seq_args, &res.seq_res, 0); in _nfs4_server_capabilities()
3867 memcpy(server->attr_bitmask, res.attr_bitmask, sizeof(server->attr_bitmask)); in _nfs4_server_capabilities()
3868 server->caps &= ~(NFS_CAP_ACLS | NFS_CAP_HARDLINKS | in _nfs4_server_capabilities()
3870 server->fattr_valid = NFS_ATTR_FATTR_V4; in _nfs4_server_capabilities()
3873 server->caps |= NFS_CAP_ACLS; in _nfs4_server_capabilities()
3875 server->caps |= NFS_CAP_HARDLINKS; in _nfs4_server_capabilities()
3877 server->caps |= NFS_CAP_SYMLINKS; in _nfs4_server_capabilities()
3879 server->caps |= NFS_CAP_CASE_INSENSITIVE; in _nfs4_server_capabilities()
3881 server->caps |= NFS_CAP_CASE_PRESERVING; in _nfs4_server_capabilities()
3884 server->caps |= NFS_CAP_SECURITY_LABEL; in _nfs4_server_capabilities()
3887 server->caps |= NFS_CAP_FS_LOCATIONS; in _nfs4_server_capabilities()
3889 server->fattr_valid &= ~NFS_ATTR_FATTR_FILEID; in _nfs4_server_capabilities()
3891 server->fattr_valid &= ~NFS_ATTR_FATTR_MODE; in _nfs4_server_capabilities()
3893 server->fattr_valid &= ~NFS_ATTR_FATTR_NLINK; in _nfs4_server_capabilities()
3895 server->fattr_valid &= ~(NFS_ATTR_FATTR_OWNER | in _nfs4_server_capabilities()
3898 server->fattr_valid &= ~(NFS_ATTR_FATTR_GROUP | in _nfs4_server_capabilities()
3901 server->fattr_valid &= ~NFS_ATTR_FATTR_SPACE_USED; in _nfs4_server_capabilities()
3903 server->fattr_valid &= ~NFS_ATTR_FATTR_ATIME; in _nfs4_server_capabilities()
3905 server->fattr_valid &= ~NFS_ATTR_FATTR_CTIME; in _nfs4_server_capabilities()
3907 server->fattr_valid &= ~NFS_ATTR_FATTR_MTIME; in _nfs4_server_capabilities()
3908 memcpy(server->attr_bitmask_nl, res.attr_bitmask, in _nfs4_server_capabilities()
3909 sizeof(server->attr_bitmask)); in _nfs4_server_capabilities()
3910 server->attr_bitmask_nl[2] &= ~FATTR4_WORD2_SECURITY_LABEL; in _nfs4_server_capabilities()
3912 …memcpy(server->cache_consistency_bitmask, res.attr_bitmask, sizeof(server->cache_consistency_bitma… in _nfs4_server_capabilities()
3913 server->cache_consistency_bitmask[0] &= FATTR4_WORD0_CHANGE|FATTR4_WORD0_SIZE; in _nfs4_server_capabilities()
3914 server->cache_consistency_bitmask[1] &= FATTR4_WORD1_TIME_METADATA|FATTR4_WORD1_TIME_MODIFY; in _nfs4_server_capabilities()
3915 server->cache_consistency_bitmask[2] = 0; in _nfs4_server_capabilities()
3920 memcpy(server->exclcreat_bitmask, res.exclcreat_bitmask, in _nfs4_server_capabilities()
3921 sizeof(server->exclcreat_bitmask)); in _nfs4_server_capabilities()
3923 server->acl_bitmask = res.acl_bitmask; in _nfs4_server_capabilities()
3924 server->fh_expire_type = res.fh_expire_type; in _nfs4_server_capabilities()
3930 int nfs4_server_capabilities(struct nfs_server *server, struct nfs_fh *fhandle) in nfs4_server_capabilities() argument
3937 nfs4_server_set_init_caps(server); in nfs4_server_capabilities()
3939 err = nfs4_handle_exception(server, in nfs4_server_capabilities()
3940 _nfs4_server_capabilities(server, fhandle), in nfs4_server_capabilities()
3948 struct nfs_server *server) in test_fs_location_for_trunking() argument
3974 clp->cl_net, server->port); in test_fs_location_for_trunking()
3996 static int _nfs4_discover_trunking(struct nfs_server *server, in _nfs4_discover_trunking() argument
4002 struct nfs_client *clp = server->nfs_client; in _nfs4_discover_trunking()
4024 status = nfs4_proc_get_locations(server, fhandle, locations, page, in _nfs4_discover_trunking()
4031 server); in _nfs4_discover_trunking()
4041 static int nfs4_discover_trunking(struct nfs_server *server, in nfs4_discover_trunking() argument
4047 struct nfs_client *clp = server->nfs_client; in nfs4_discover_trunking()
4053 err = nfs4_handle_exception(server, in nfs4_discover_trunking()
4054 _nfs4_discover_trunking(server, fhandle), in nfs4_discover_trunking()
4061 static int _nfs4_lookup_root(struct nfs_server *server, struct nfs_fh *fhandle, in _nfs4_lookup_root() argument
4069 .server = server, in _nfs4_lookup_root()
4087 return nfs4_call_sync(server->client, server, &msg, &args.seq_args, &res.seq_res, 0); in _nfs4_lookup_root()
4090 static int nfs4_lookup_root(struct nfs_server *server, struct nfs_fh *fhandle, in nfs4_lookup_root() argument
4098 err = _nfs4_lookup_root(server, fhandle, info); in nfs4_lookup_root()
4099 trace_nfs4_lookup_root(server, fhandle, info->fattr, err); in nfs4_lookup_root()
4105 err = nfs4_handle_exception(server, err, &exception); in nfs4_lookup_root()
4112 static int nfs4_lookup_root_sec(struct nfs_server *server, struct nfs_fh *fhandle, in nfs4_lookup_root_sec() argument
4120 auth = rpcauth_create(&auth_args, server->client); in nfs4_lookup_root_sec()
4123 return nfs4_lookup_root(server, fhandle, info); in nfs4_lookup_root_sec()
4135 static int nfs4_find_root_sec(struct nfs_server *server, struct nfs_fh *fhandle, in nfs4_find_root_sec() argument
4149 if (server->auth_info.flavor_len > 0) { in nfs4_find_root_sec()
4151 for (i = 0; i < server->auth_info.flavor_len; i++) { in nfs4_find_root_sec()
4152 status = nfs4_lookup_root_sec(server, fhandle, info, in nfs4_find_root_sec()
4153 server->auth_info.flavors[i]); in nfs4_find_root_sec()
4161 status = nfs4_lookup_root_sec(server, fhandle, info, in nfs4_find_root_sec()
4190 int nfs4_proc_get_rootfh(struct nfs_server *server, struct nfs_fh *fhandle, in nfs4_proc_get_rootfh() argument
4197 status = nfs4_lookup_root(server, fhandle, info); in nfs4_proc_get_rootfh()
4200 status = server->nfs_client->cl_mvops->find_root_sec(server, in nfs4_proc_get_rootfh()
4204 status = nfs4_server_capabilities(server, fhandle); in nfs4_proc_get_rootfh()
4206 status = nfs4_do_fsinfo(server, fhandle, info); in nfs4_proc_get_rootfh()
4211 static int nfs4_proc_get_root(struct nfs_server *server, struct nfs_fh *mntfh, in nfs4_proc_get_root() argument
4217 error = nfs4_server_capabilities(server, mntfh); in nfs4_proc_get_root()
4223 error = nfs4_proc_getattr(server, mntfh, fattr, NULL); in nfs4_proc_get_root()
4230 !nfs_fsid_equal(&server->fsid, &fattr->fsid)) in nfs4_proc_get_root()
4231 memcpy(&server->fsid, &fattr->fsid, sizeof(server->fsid)); in nfs4_proc_get_root()
4284 static int _nfs4_proc_getattr(struct nfs_server *server, struct nfs_fh *fhandle, in _nfs4_proc_getattr() argument
4294 .server = server, in _nfs4_proc_getattr()
4303 if (nfs4_has_session(server->nfs_client)) in _nfs4_proc_getattr()
4307 if (inode && (server->flags & NFS_MOUNT_SOFTREVAL)) in _nfs4_proc_getattr()
4310 nfs4_bitmap_copy_adjust(bitmask, nfs4_bitmask(server, fattr->label), inode, 0); in _nfs4_proc_getattr()
4313 return nfs4_do_call_sync(server->client, server, &msg, in _nfs4_proc_getattr()
4317 int nfs4_proc_getattr(struct nfs_server *server, struct nfs_fh *fhandle, in nfs4_proc_getattr() argument
4325 err = _nfs4_proc_getattr(server, fhandle, fattr, inode); in nfs4_proc_getattr()
4326 trace_nfs4_getattr(server, fhandle, fattr, err); in nfs4_proc_getattr()
4327 err = nfs4_handle_exception(server, err, in nfs4_proc_getattr()
4398 struct nfs_server *server = NFS_SERVER(dir); in _nfs4_proc_lookup() local
4401 .bitmask = server->attr_bitmask, in _nfs4_proc_lookup()
4406 .server = server, in _nfs4_proc_lookup()
4424 args.bitmask = nfs4_bitmask(server, fattr->label); in _nfs4_proc_lookup()
4430 status = nfs4_do_call_sync(clnt, server, &msg, in _nfs4_proc_lookup()
4521 struct nfs_server *server = NFS_SERVER(inode); in _nfs4_proc_lookupp() local
4524 .bitmask = server->attr_bitmask, in _nfs4_proc_lookupp()
4528 .server = server, in _nfs4_proc_lookupp()
4542 args.bitmask = nfs4_bitmask(server, fattr->label); in _nfs4_proc_lookupp()
4547 status = nfs4_call_sync(clnt, server, &msg, &args.seq_args, in _nfs4_proc_lookupp()
4572 struct nfs_server *server = NFS_SERVER(inode); in _nfs4_proc_access() local
4578 .server = server, in _nfs4_proc_access()
4592 args.bitmask = server->cache_consistency_bitmask; in _nfs4_proc_access()
4594 status = nfs4_call_sync(server->client, server, &msg, &args.seq_args, &res.seq_res, 0); in _nfs4_proc_access()
4684 struct nfs_server *server = NFS_SERVER(dir); in nfs4_proc_create() local
4696 if (!(server->attr_bitmask[2] & FATTR4_WORD2_MODE_UMASK)) in nfs4_proc_create()
4712 struct nfs_server *server = NFS_SERVER(dir); in _nfs4_proc_remove() local
4718 .server = server, in _nfs4_proc_remove()
4728 status = nfs4_call_sync(server->client, server, &msg, &args.seq_args, &res.seq_res, 1); in _nfs4_proc_remove()
4787 res->server = NFS_SB(dentry->d_sb); in nfs4_proc_unlink_setup()
4814 if (nfs4_async_handle_error(task, res->server, NULL, in nfs4_proc_unlink_done()
4838 res->server = NFS_SB(old_dentry->d_sb); in nfs4_proc_rename_setup()
4858 if (nfs4_async_handle_error(task, res->server, NULL, &data->timeout) == -EAGAIN) in nfs4_proc_rename_done()
4883 struct nfs_server *server = NFS_SERVER(inode); in _nfs4_proc_link() local
4892 .server = server, in _nfs4_proc_link()
4901 res.fattr = nfs_alloc_fattr_with_label(server); in _nfs4_proc_link()
4906 nfs4_bitmap_copy_adjust(bitmask, nfs4_bitmask(server, res.fattr->label), inode, in _nfs4_proc_link()
4908 status = nfs4_call_sync(server->client, server, &msg, &arg.seq_args, &res.seq_res, 1); in _nfs4_proc_link()
4952 struct nfs_server *server = NFS_SERVER(dir); in nfs4_alloc_createdata() local
4954 data->fattr.label = nfs4_label_alloc(server, GFP_KERNEL); in nfs4_alloc_createdata()
4962 data->arg.server = server; in nfs4_alloc_createdata()
4966 data->arg.bitmask = nfs4_bitmask(server, data->fattr.label); in nfs4_alloc_createdata()
4968 data->res.server = server; in nfs4_alloc_createdata()
5073 struct nfs_server *server = NFS_SERVER(dir); in nfs4_proc_mkdir() local
5082 if (!(server->attr_bitmask[2] & FATTR4_WORD2_MODE_UMASK)) in nfs4_proc_mkdir()
5099 struct nfs_server *server = NFS_SERVER(dir); in _nfs4_proc_readdir() local
5118 if (!(server->caps & NFS_CAP_SECURITY_LABEL)) in _nfs4_proc_readdir()
5119 args.bitmask = server->attr_bitmask_nl; in _nfs4_proc_readdir()
5121 args.bitmask = server->attr_bitmask; in _nfs4_proc_readdir()
5125 status = nfs4_call_sync(server->client, server, &msg, &args.seq_args, in _nfs4_proc_readdir()
5192 struct nfs_server *server = NFS_SERVER(dir); in nfs4_proc_mknod() local
5201 if (!(server->attr_bitmask[2] & FATTR4_WORD2_MODE_UMASK)) in nfs4_proc_mknod()
5215 static int _nfs4_proc_statfs(struct nfs_server *server, struct nfs_fh *fhandle, in _nfs4_proc_statfs() argument
5220 .bitmask = server->attr_bitmask, in _nfs4_proc_statfs()
5232 return nfs4_call_sync(server->client, server, &msg, &args.seq_args, &res.seq_res, 0); in _nfs4_proc_statfs()
5235 static int nfs4_proc_statfs(struct nfs_server *server, struct nfs_fh *fhandle, struct nfs_fsstat *f… in nfs4_proc_statfs() argument
5242 err = nfs4_handle_exception(server, in nfs4_proc_statfs()
5243 _nfs4_proc_statfs(server, fhandle, fsstat), in nfs4_proc_statfs()
5249 static int _nfs4_do_fsinfo(struct nfs_server *server, struct nfs_fh *fhandle, in _nfs4_do_fsinfo() argument
5254 .bitmask = server->attr_bitmask, in _nfs4_do_fsinfo()
5265 return nfs4_call_sync(server->client, server, &msg, &args.seq_args, &res.seq_res, 0); in _nfs4_do_fsinfo()
5268 static int nfs4_do_fsinfo(struct nfs_server *server, struct nfs_fh *fhandle, struct nfs_fsinfo *fsi… in nfs4_do_fsinfo() argument
5276 err = _nfs4_do_fsinfo(server, fhandle, fsinfo); in nfs4_do_fsinfo()
5277 trace_nfs4_fsinfo(server, fhandle, fsinfo->fattr, err); in nfs4_do_fsinfo()
5279 nfs4_set_lease_period(server->nfs_client, fsinfo->lease_time * HZ); in nfs4_do_fsinfo()
5282 err = nfs4_handle_exception(server, err, &exception); in nfs4_do_fsinfo()
5287 static int nfs4_proc_fsinfo(struct nfs_server *server, struct nfs_fh *fhandle, struct nfs_fsinfo *f… in nfs4_proc_fsinfo() argument
5292 error = nfs4_do_fsinfo(server, fhandle, fsinfo); in nfs4_proc_fsinfo()
5295 server->pnfs_blksize = fsinfo->blksize; in nfs4_proc_fsinfo()
5296 set_pnfs_layoutdriver(server, fhandle, fsinfo); in nfs4_proc_fsinfo()
5302 static int _nfs4_proc_pathconf(struct nfs_server *server, struct nfs_fh *fhandle, in _nfs4_proc_pathconf() argument
5307 .bitmask = server->attr_bitmask, in _nfs4_proc_pathconf()
5325 return nfs4_call_sync(server->client, server, &msg, &args.seq_args, &res.seq_res, 0); in _nfs4_proc_pathconf()
5328 static int nfs4_proc_pathconf(struct nfs_server *server, struct nfs_fh *fhandle, in nfs4_proc_pathconf() argument
5337 err = nfs4_handle_exception(server, in nfs4_proc_pathconf()
5338 _nfs4_proc_pathconf(server, fhandle, pathconf), in nfs4_proc_pathconf()
5383 struct nfs_server *server = NFS_SERVER(hdr->inode); in nfs4_read_done_cb() local
5393 server, task->tk_status, &exception); in nfs4_read_done_cb()
5401 renew_lease(server, hdr->timestamp); in nfs4_read_done_cb()
5422 struct nfs_server *server = NFS_SERVER(hdr->inode); in nfs4_read_plus_not_supported() local
5426 server->caps & NFS_CAP_READ_PLUS && task->tk_status == -ENOTSUPP) { in nfs4_read_plus_not_supported()
5427 server->caps &= ~NFS_CAP_READ_PLUS; in nfs4_read_plus_not_supported()
5558 struct nfs_server *server = NFS_SERVER(inode); in nfs4_bitmask_set() local
5585 bitmask[i] &= server->attr_bitmask[i]; in nfs4_bitmask_set()
5592 struct nfs_server *server = NFS_SERVER(hdr->inode); in nfs4_proc_write_setup() local
5599 server->cache_consistency_bitmask, in nfs4_proc_write_setup()
5606 hdr->res.server = server; in nfs4_proc_write_setup()
5611 nfs4_state_protect_write(server->nfs_client, clnt, msg, hdr); in nfs4_proc_write_setup()
5645 struct nfs_server *server = NFS_SERVER(data->inode); in nfs4_proc_commit_setup() local
5649 data->res.server = server; in nfs4_proc_commit_setup()
5652 nfs4_state_protect(server->nfs_client, NFS_SP4_MACH_CRED_COMMIT, clnt, msg); in nfs4_proc_commit_setup()
5659 struct nfs_server *server = NFS_SERVER(dst_inode); in _nfs4_proc_commit() local
5667 return nfs4_call_sync(server->client, server, &msg, in _nfs4_proc_commit()
5781 static bool nfs4_server_supports_acls(const struct nfs_server *server, in nfs4_server_supports_acls() argument
5786 return server->attr_bitmask[0] & FATTR4_WORD0_ACL; in nfs4_server_supports_acls()
5788 return server->attr_bitmask[1] & FATTR4_WORD1_DACL; in nfs4_server_supports_acls()
5790 return server->attr_bitmask[1] & FATTR4_WORD1_SACL; in nfs4_server_supports_acls()
5934 struct nfs_server *server = NFS_SERVER(inode); in __nfs4_get_acl_uncached() local
5937 buflen = server->rsize; in __nfs4_get_acl_uncached()
6015 struct nfs_server *server = NFS_SERVER(inode); in nfs4_proc_get_acl() local
6018 if (!nfs4_server_supports_acls(server, type)) in nfs4_proc_get_acl()
6036 struct nfs_server *server = NFS_SERVER(inode); in __nfs4_proc_set_acl() local
6056 if (!nfs4_server_supports_acls(server, type)) in __nfs4_proc_set_acl()
6064 ret = nfs4_call_sync(server->client, server, &msg, &arg.seq_args, &res.seq_res, 1); in __nfs4_proc_set_acl()
6113 struct nfs_server *server = NFS_SERVER(inode); in _nfs4_get_security_label() local
6126 .server = server, in _nfs4_get_security_label()
6137 ret = nfs4_call_sync(server->client, server, &msg, &arg.seq_args, &res.seq_res, 0); in _nfs4_get_security_label()
6171 struct nfs_server *server = NFS_SERVER(inode); in _nfs4_do_set_security_label() local
6176 .server = server, in _nfs4_do_set_security_label()
6182 .server = server, in _nfs4_do_set_security_label()
6193 status = nfs4_call_sync(server->client, server, &msg, &arg.seq_args, &res.seq_res, 1); in _nfs4_do_set_security_label()
6545 renew_lease(data->res.server, data->timestamp); in nfs4_delegreturn_done()
6550 nfs4_free_revoked_stateid(data->res.server, in nfs4_delegreturn_done()
6576 data->res.server, task->tk_status, in nfs4_delegreturn_done()
6624 nfs4_setup_sequence(d_data->res.server->nfs_client, in nfs4_delegreturn_prepare()
6639 struct nfs_server *server = NFS_SERVER(inode); in _nfs4_proc_delegreturn() local
6646 .rpc_client = server->client, in _nfs4_proc_delegreturn()
6660 nfs4_state_protect(server->nfs_client, in _nfs4_proc_delegreturn()
6667 server->cache_consistency_bitmask, inode, 0); in _nfs4_proc_delegreturn()
6672 data->res.server = server; in _nfs4_proc_delegreturn()
6713 struct nfs_server *server = NFS_SERVER(inode); in nfs4_proc_delegreturn() local
6725 err = nfs4_handle_exception(server, err, &exception); in nfs4_proc_delegreturn()
6733 struct nfs_server *server = NFS_SERVER(inode); in _nfs4_proc_getlk() local
6734 struct nfs_client *clp = server->nfs_client; in _nfs4_proc_getlk()
6757 arg.lock_owner.s_dev = server->s_dev; in _nfs4_proc_getlk()
6758 status = nfs4_call_sync(server->client, server, &msg, &arg.seq_args, &res.seq_res, 1); in _nfs4_proc_getlk()
6831 struct nfs_server *server; member
6857 p->server = NFS_SERVER(inode); in nfs4_alloc_unlockdata()
6886 renew_lease(calldata->server, calldata->timestamp); in nfs4_locku_done()
6894 nfs4_free_revoked_stateid(calldata->server, in nfs4_locku_done()
6911 calldata->server, task->tk_status, in nfs4_locku_done()
6934 if (nfs4_setup_sequence(calldata->server->nfs_client, in nfs4_locku_prepare()
7054 struct nfs_server *server; member
7063 struct nfs_server *server = NFS_SERVER(inode); in nfs4_alloc_lockdata() local
7075 alloc_seqid = server->nfs_client->cl_mvops->alloc_seqid; in nfs4_alloc_lockdata()
7079 p->arg.lock_owner.clientid = server->nfs_client->cl_clientid; in nfs4_alloc_lockdata()
7081 p->arg.lock_owner.s_dev = server->s_dev; in nfs4_alloc_lockdata()
7084 p->server = server; in nfs4_alloc_lockdata()
7123 if (nfs4_setup_sequence(data->server->nfs_client, in nfs4_lock_prepare()
7141 struct nfs_server *server = NFS_SERVER(d_inode(data->ctx->dentry)); in nfs4_lock_done() local
7149 renew_lease(server, data->timestamp); in nfs4_lock_done()
7170 else if (nfs4_async_handle_error(task, server, lsp->ls_state, NULL) == -EAGAIN) in nfs4_lock_done()
7210 static void nfs4_handle_setlk_error(struct nfs_server *server, struct nfs4_lock_state *lsp, int new… in nfs4_handle_setlk_error() argument
7219 nfs4_schedule_stateid_recovery(server, lsp->ls_state); in nfs4_handle_setlk_error()
7223 nfs4_schedule_lease_recovery(server->nfs_client); in nfs4_handle_setlk_error()
7270 nfs4_handle_setlk_error(data->server, data->lsp, in _nfs4_do_setlk()
7282 struct nfs_server *server = NFS_SERVER(state->inode); in nfs4_lock_reclaim() local
7295 nfs4_handle_exception(server, err, &exception); in nfs4_lock_reclaim()
7302 struct nfs_server *server = NFS_SERVER(state->inode); in nfs4_lock_expired() local
7324 nfs4_handle_exception(server, err, &exception); in nfs4_lock_expired()
7456 struct nfs_server *server = NFS_SERVER(state->inode); in nfs4_retry_setlk() local
7457 struct nfs_client *clp = server->nfs_client; in nfs4_retry_setlk()
7463 .s_dev = server->s_dev }, in nfs4_retry_setlk()
7590 struct nfs_server *server = NFS_SERVER(state->inode); in nfs4_lock_delegation_recall() local
7602 return nfs4_handle_delegation_recall_error(server, state, stateid, fl, err); in nfs4_lock_delegation_recall()
7607 struct nfs_server *server; member
7616 struct nfs_server *server = data->server; in nfs4_release_lockowner_prepare() local
7617 nfs4_setup_sequence(server->nfs_client, &data->args.seq_args, in nfs4_release_lockowner_prepare()
7619 data->args.lock_owner.clientid = server->nfs_client->cl_clientid; in nfs4_release_lockowner_prepare()
7626 struct nfs_server *server = data->server; in nfs4_release_lockowner_done() local
7632 renew_lease(server, data->timestamp); in nfs4_release_lockowner_done()
7636 nfs4_schedule_lease_recovery(server->nfs_client); in nfs4_release_lockowner_done()
7640 if (nfs4_async_handle_error(task, server, in nfs4_release_lockowner_done()
7649 nfs4_free_lock_state(data->server, data->lsp); in nfs4_release_lockowner_release()
7660 nfs4_release_lockowner(struct nfs_server *server, struct nfs4_lock_state *lsp) in nfs4_release_lockowner() argument
7667 if (server->nfs_client->cl_mvops->minor_version != 0) in nfs4_release_lockowner()
7674 data->server = server; in nfs4_release_lockowner()
7675 data->args.lock_owner.clientid = server->nfs_client->cl_clientid; in nfs4_release_lockowner()
7677 data->args.lock_owner.s_dev = server->s_dev; in nfs4_release_lockowner()
7682 rpc_call_async(server->client, &msg, 0, &nfs4_release_lockowner_ops, data); in nfs4_release_lockowner()
7959 struct nfs_server *server = NFS_SERVER(dir); in _nfs4_proc_fs_locations() local
7990 fs_locations->server = server; in _nfs4_proc_fs_locations()
7992 status = nfs4_call_sync(client, server, &msg, &args.seq_args, &res.seq_res, 0); in _nfs4_proc_fs_locations()
8023 static int _nfs40_proc_get_locations(struct nfs_server *server, in _nfs40_proc_get_locations() argument
8028 struct rpc_clnt *clnt = server->client; in _nfs40_proc_get_locations()
8033 .clientid = server->nfs_client->cl_clientid, in _nfs40_proc_get_locations()
8055 locations->server = server; in _nfs40_proc_get_locations()
8059 status = nfs4_call_sync_sequence(clnt, server, &msg, in _nfs40_proc_get_locations()
8064 renew_lease(server, now); in _nfs40_proc_get_locations()
8080 static int _nfs41_proc_get_locations(struct nfs_server *server, in _nfs41_proc_get_locations() argument
8085 struct rpc_clnt *clnt = server->client; in _nfs41_proc_get_locations()
8106 .seq_server = server, in _nfs41_proc_get_locations()
8113 .callback_ops = server->nfs_client->cl_mvops->call_sync_ops, in _nfs41_proc_get_locations()
8120 locations->server = server; in _nfs41_proc_get_locations()
8151 int nfs4_proc_get_locations(struct nfs_server *server, in nfs4_proc_get_locations() argument
8156 struct nfs_client *clp = server->nfs_client; in nfs4_proc_get_locations()
8165 (unsigned long long)server->fsid.major, in nfs4_proc_get_locations()
8166 (unsigned long long)server->fsid.minor, in nfs4_proc_get_locations()
8171 status = ops->get_locations(server, fhandle, locations, page, in nfs4_proc_get_locations()
8175 nfs4_handle_exception(server, status, &exception); in nfs4_proc_get_locations()
8189 struct nfs_server *server = NFS_SERVER(inode); in _nfs40_proc_fsid_present() local
8191 struct rpc_clnt *clnt = server->client; in _nfs40_proc_fsid_present()
8214 status = nfs4_call_sync_sequence(clnt, server, &msg, in _nfs40_proc_fsid_present()
8235 struct nfs_server *server = NFS_SERVER(inode); in _nfs41_proc_fsid_present() local
8236 struct rpc_clnt *clnt = server->client; in _nfs41_proc_fsid_present()
8255 status = nfs4_call_sync_sequence(clnt, server, &msg, in _nfs41_proc_fsid_present()
8282 struct nfs_server *server = NFS_SERVER(inode); in nfs4_proc_fsid_present() local
8283 struct nfs_client *clp = server->nfs_client; in nfs4_proc_fsid_present()
8292 (unsigned long long)server->fsid.major, in nfs4_proc_fsid_present()
8293 (unsigned long long)server->fsid.minor, in nfs4_proc_fsid_present()
8301 nfs4_handle_exception(server, status, &exception); in nfs4_proc_fsid_present()
9575 struct nfs_server *server = NFS_SERVER(lgp->args.inode); in nfs4_layoutget_prepare() local
9577 nfs4_setup_sequence(server->nfs_client, &lgp->args.seq_args, in nfs4_layoutget_prepare()
9593 struct nfs_server *server = NFS_SERVER(inode); in nfs4_layoutget_handle_exception() local
9666 err = nfs4_handle_exception(server, nfs4err, exception); in nfs4_layoutget_handle_exception()
9677 size_t max_response_pages(struct nfs_server *server) in max_response_pages() argument
9679 u32 max_resp_sz = server->nfs_client->cl_session->fc_attrs.max_resp_sz; in max_response_pages()
9701 struct nfs_server *server = NFS_SERVER(inode); in nfs4_proc_layoutget() local
9710 .rpc_client = server->client, in nfs4_proc_layoutget()
9772 struct nfs_server *server; in nfs4_layoutreturn_done() local
9786 server = NFS_SERVER(lrp->args.inode); in nfs4_layoutreturn_done()
9800 if (nfs4_async_handle_error(task, server, NULL, NULL) != -EAGAIN) in nfs4_layoutreturn_done()
9881 _nfs4_proc_getdeviceinfo(struct nfs_server *server, in _nfs4_proc_getdeviceinfo() argument
9901 status = nfs4_call_sync(server->client, server, &msg, &args.seq_args, &res.seq_res, 0); in _nfs4_proc_getdeviceinfo()
9907 trace_nfs4_getdeviceinfo(server, &pdev->dev_id, status); in _nfs4_proc_getdeviceinfo()
9914 int nfs4_proc_getdeviceinfo(struct nfs_server *server, in nfs4_proc_getdeviceinfo() argument
9922 err = nfs4_handle_exception(server, in nfs4_proc_getdeviceinfo()
9923 _nfs4_proc_getdeviceinfo(server, pdev, cred), in nfs4_proc_getdeviceinfo()
9933 struct nfs_server *server = NFS_SERVER(data->args.inode); in nfs4_layoutcommit_prepare() local
9935 nfs4_setup_sequence(server->nfs_client, in nfs4_layoutcommit_prepare()
9945 struct nfs_server *server = NFS_SERVER(data->args.inode); in nfs4_layoutcommit_done() local
9960 if (nfs4_async_handle_error(task, server, NULL, NULL) == -EAGAIN) { in nfs4_layoutcommit_done()
10035 _nfs41_proc_secinfo_no_name(struct nfs_server *server, struct nfs_fh *fhandle, in _nfs41_proc_secinfo_no_name() argument
10051 .seq_server = server, in _nfs41_proc_secinfo_no_name()
10056 .rpc_client = server->client, in _nfs41_proc_secinfo_no_name()
10058 .callback_ops = server->nfs_client->cl_mvops->call_sync_ops, in _nfs41_proc_secinfo_no_name()
10066 task_setup.rpc_client = server->nfs_client->cl_rpcclient; in _nfs41_proc_secinfo_no_name()
10068 cred = nfs4_get_clid_cred(server->nfs_client); in _nfs41_proc_secinfo_no_name()
10082 nfs41_proc_secinfo_no_name(struct nfs_server *server, struct nfs_fh *fhandle, in nfs41_proc_secinfo_no_name() argument
10094 if (_nfs4_is_integrity_protected(server->nfs_client)) in nfs41_proc_secinfo_no_name()
10095 err = _nfs41_proc_secinfo_no_name(server, fhandle, info, in nfs41_proc_secinfo_no_name()
10105 err = _nfs41_proc_secinfo_no_name(server, fhandle, info, in nfs41_proc_secinfo_no_name()
10114 err = nfs4_handle_exception(server, err, &exception); in nfs41_proc_secinfo_no_name()
10122 nfs41_find_root_sec(struct nfs_server *server, struct nfs_fh *fhandle, in nfs41_find_root_sec() argument
10139 err = nfs41_proc_secinfo_no_name(server, fhandle, info, flavors); in nfs41_find_root_sec()
10146 err = nfs4_find_root_sec(server, fhandle, info); in nfs41_find_root_sec()
10167 if (!nfs_auth_info_match(&server->auth_info, flavor)) in nfs41_find_root_sec()
10171 err = nfs4_lookup_root_sec(server, fhandle, in nfs41_find_root_sec()
10189 static int _nfs41_test_stateid(struct nfs_server *server, in _nfs41_test_stateid() argument
10204 struct rpc_clnt *rpc_client = server->client; in _nfs41_test_stateid()
10206 nfs4_state_protect(server->nfs_client, NFS_SP4_MACH_CRED_STATEID, in _nfs41_test_stateid()
10211 status = nfs4_call_sync_sequence(rpc_client, server, &msg, in _nfs41_test_stateid()
10221 static void nfs4_handle_delay_or_session_error(struct nfs_server *server, in nfs4_handle_delay_or_session_error() argument
10228 nfs4_handle_exception(server, err, exception); in nfs4_handle_delay_or_session_error()
10235 nfs4_do_handle_exception(server, err, exception); in nfs4_handle_delay_or_session_error()
10250 static int nfs41_test_stateid(struct nfs_server *server, in nfs41_test_stateid() argument
10259 err = _nfs41_test_stateid(server, stateid, cred); in nfs41_test_stateid()
10260 nfs4_handle_delay_or_session_error(server, err, &exception); in nfs41_test_stateid()
10266 struct nfs_server *server; member
10274 nfs4_setup_sequence(data->server->nfs_client, in nfs41_free_stateid_prepare()
10288 if (nfs4_async_handle_error(task, data->server, NULL, NULL) == -EAGAIN) in nfs41_free_stateid_done()
10296 struct nfs_client *clp = data->server->nfs_client; in nfs41_free_stateid_release()
10318 static int nfs41_free_stateid(struct nfs_server *server, in nfs41_free_stateid() argument
10328 .rpc_client = server->client, in nfs41_free_stateid()
10335 struct nfs_client *clp = server->nfs_client; in nfs41_free_stateid()
10340 nfs4_state_protect(server->nfs_client, NFS_SP4_MACH_CRED_STATEID, in nfs41_free_stateid()
10347 data->server = server; in nfs41_free_stateid()
10363 nfs41_free_lock_state(struct nfs_server *server, struct nfs4_lock_state *lsp) in nfs41_free_lock_state() argument
10367 nfs41_free_stateid(server, &lsp->ls_stateid, cred, false); in nfs41_free_lock_state()
10368 nfs4_free_lock_state(server, lsp); in nfs41_free_lock_state()