Lines Matching refs:server
96 static int _nfs4_proc_getattr(struct nfs_server *server, struct nfs_fh *fhandle,
113 struct nfs_server *server,
143 static inline u32 *nfs4_bitmask(struct nfs_server *server, struct nfs4_label *label) in nfs4_bitmask() argument
146 return server->attr_bitmask; in nfs4_bitmask()
148 return server->attr_bitmask_nl; in nfs4_bitmask()
159 nfs4_bitmask(struct nfs_server *server, struct nfs4_label *label) in nfs4_bitmask() argument
160 { return server->attr_bitmask; } in nfs4_bitmask()
370 static void nfs4_test_and_free_stateid(struct nfs_server *server, in nfs4_test_and_free_stateid() argument
374 const struct nfs4_minor_version_ops *ops = server->nfs_client->cl_mvops; in nfs4_test_and_free_stateid()
376 ops->test_and_free_expired(server, stateid, cred); in nfs4_test_and_free_stateid()
379 static void __nfs4_free_revoked_stateid(struct nfs_server *server, in __nfs4_free_revoked_stateid() argument
384 nfs4_test_and_free_stateid(server, stateid, cred); in __nfs4_free_revoked_stateid()
387 static void nfs4_free_revoked_stateid(struct nfs_server *server, in nfs4_free_revoked_stateid() argument
394 __nfs4_free_revoked_stateid(server, &tmp, cred); in nfs4_free_revoked_stateid()
458 static int nfs4_do_handle_exception(struct nfs_server *server, in nfs4_do_handle_exception() argument
461 struct nfs_client *clp = server->nfs_client; in nfs4_do_handle_exception()
509 ret = nfs4_schedule_stateid_recovery(server, state); in nfs4_do_handle_exception()
518 ret = nfs4_schedule_migration_recovery(server); in nfs4_do_handle_exception()
546 nfs_inc_server_stats(server, NFSIOS_DELAY); in nfs4_do_handle_exception()
561 if (server->caps & NFS_CAP_UIDGID_NOMAP) { in nfs4_do_handle_exception()
562 server->caps &= ~NFS_CAP_UIDGID_NOMAP; in nfs4_do_handle_exception()
568 server->nfs_client->cl_hostname); in nfs4_do_handle_exception()
581 int nfs4_handle_exception(struct nfs_server *server, int errorcode, struct nfs4_exception *exceptio… in nfs4_handle_exception() argument
583 struct nfs_client *clp = server->nfs_client; in nfs4_handle_exception()
586 ret = nfs4_do_handle_exception(server, errorcode, exception); in nfs4_handle_exception()
596 if (test_bit(NFS_MIG_FAILED, &server->mig_status)) in nfs4_handle_exception()
608 nfs4_async_handle_exception(struct rpc_task *task, struct nfs_server *server, in nfs4_async_handle_exception() argument
611 struct nfs_client *clp = server->nfs_client; in nfs4_async_handle_exception()
614 ret = nfs4_do_handle_exception(server, errorcode, exception); in nfs4_async_handle_exception()
627 if (test_bit(NFS_MIG_FAILED, &server->mig_status)) in nfs4_async_handle_exception()
644 nfs4_async_handle_error(struct rpc_task *task, struct nfs_server *server, in nfs4_async_handle_error() argument
655 task->tk_status = nfs4_async_handle_exception(task, server, in nfs4_async_handle_error()
683 static void renew_lease(const struct nfs_server *server, unsigned long timestamp) in renew_lease() argument
685 struct nfs_client *clp = server->nfs_client; in renew_lease()
1130 struct nfs_server *server, in nfs4_do_call_sync() argument
1136 struct nfs_client *clp = server->nfs_client; in nfs4_do_call_sync()
1138 .seq_server = server, in nfs4_do_call_sync()
1154 struct nfs_server *server, in nfs4_call_sync_sequence() argument
1161 if (server->nfs_client->cl_minorversion) in nfs4_call_sync_sequence()
1163 return nfs4_do_call_sync(clnt, server, msg, args, res, task_flags); in nfs4_call_sync_sequence()
1168 struct nfs_server *server, in nfs4_call_sync() argument
1175 return nfs4_call_sync_sequence(clnt, server, msg, args, res); in nfs4_call_sync()
1263 static bool nfs4_clear_cap_atomic_open_v1(struct nfs_server *server, in nfs4_clear_cap_atomic_open_v1() argument
1268 if (!(server->caps & NFS_CAP_ATOMIC_OPEN_V1)) in nfs4_clear_cap_atomic_open_v1()
1270 server->caps &= ~NFS_CAP_ATOMIC_OPEN_V1; in nfs4_clear_cap_atomic_open_v1()
1288 nfs4_map_atomic_open_share(struct nfs_server *server, in nfs4_map_atomic_open_share() argument
1303 if (!(server->caps & NFS_CAP_ATOMIC_OPEN_V1)) in nfs4_map_atomic_open_share()
1313 nfs4_map_atomic_open_claim(struct nfs_server *server, in nfs4_map_atomic_open_claim() argument
1316 if (server->caps & NFS_CAP_ATOMIC_OPEN_V1) in nfs4_map_atomic_open_claim()
1335 p->o_res.server = p->o_arg.server; in nfs4_init_opendata_res()
1349 struct nfs_server *server = NFS_SERVER(dir); in nfs4_opendata_alloc() local
1358 p->f_attr.label = nfs4_label_alloc(server, gfp_mask); in nfs4_opendata_alloc()
1362 p->a_label = nfs4_label_alloc(server, gfp_mask); in nfs4_opendata_alloc()
1366 alloc_seqid = server->nfs_client->cl_mvops->alloc_seqid; in nfs4_opendata_alloc()
1377 p->o_arg.claim = nfs4_map_atomic_open_claim(server, claim); in nfs4_opendata_alloc()
1378 p->o_arg.share_access = nfs4_map_atomic_open_share(server, in nfs4_opendata_alloc()
1402 if (!(server->caps & NFS_CAP_XATTR)) in nfs4_opendata_alloc()
1408 p->o_arg.clientid = server->nfs_client->cl_clientid; in nfs4_opendata_alloc()
1412 p->o_arg.server = server; in nfs4_opendata_alloc()
1413 p->o_arg.bitmask = nfs4_bitmask(server, label); in nfs4_opendata_alloc()
1796 struct nfs_server *server = NFS_SERVER(state->inode); in update_open_stateid() local
1797 struct nfs_client *clp = server->nfs_client; in update_open_stateid()
1841 nfs4_test_and_free_stateid(server, &freeme, in update_open_stateid()
2216 struct nfs_server *server = NFS_SERVER(state->inode); in nfs4_do_open_reclaim() local
2222 if (nfs4_clear_cap_atomic_open_v1(server, err, &exception)) in nfs4_do_open_reclaim()
2226 nfs4_handle_exception(server, err, &exception); in nfs4_do_open_reclaim()
2246 static int nfs4_handle_delegation_recall_error(struct nfs_server *server, struct nfs4_state *state,… in nfs4_handle_delegation_recall_error() argument
2268 nfs4_schedule_lease_recovery(server->nfs_client); in nfs4_handle_delegation_recall_error()
2271 nfs4_schedule_migration_recovery(server); in nfs4_handle_delegation_recall_error()
2274 nfs4_schedule_lease_moved_recovery(server->nfs_client); in nfs4_handle_delegation_recall_error()
2283 nfs4_schedule_stateid_recovery(server, state); in nfs4_handle_delegation_recall_error()
2304 struct nfs_server *server = NFS_SERVER(state->inode); in nfs4_open_delegation_recall() local
2331 return nfs4_handle_delegation_recall_error(server, state, stateid, NULL, err); in nfs4_open_delegation_recall()
2338 nfs4_setup_sequence(data->o_arg.server->nfs_client, in nfs4_open_confirm_prepare()
2352 renew_lease(data->o_res.server, data->timestamp); in nfs4_open_confirm_done()
2386 struct nfs_server *server = NFS_SERVER(d_inode(data->dir)); in _nfs4_proc_open_confirm() local
2395 .rpc_client = server->client, in _nfs4_proc_open_confirm()
2462 if (nfs4_setup_sequence(data->o_arg.server->nfs_client, in nfs4_open_prepare()
2515 renew_lease(data->o_res.server, data->timestamp); in nfs4_open_done()
2553 struct nfs_server *server = NFS_SERVER(dir); in nfs4_run_open_task() local
2564 .rpc_client = server->client, in nfs4_run_open_task()
2573 if (server->nfs_client->cl_minorversion) in nfs4_run_open_task()
2674 struct nfs_server *server = NFS_SERVER(dir); in _nfs4_proc_open() local
2689 nfs_fattr_map_and_free_names(server, &data->f_attr); in _nfs4_proc_open()
2703 server->caps &= ~NFS_CAP_POSIX_LOCK; in _nfs4_proc_open()
2711 nfs4_proc_getattr(server, &o_res->fh, o_res->f_attr, NULL); in _nfs4_proc_open()
2739 struct nfs_server *server = NFS_SERVER(state->inode); in nfs4_do_open_expired() local
2746 if (nfs4_clear_cap_atomic_open_v1(server, err, &exception)) in nfs4_do_open_expired()
2753 nfs4_handle_exception(server, err, &exception); in nfs4_do_open_expired()
2795 static int nfs40_test_and_free_expired_stateid(struct nfs_server *server, in nfs40_test_and_free_expired_stateid() argument
2803 static int nfs41_test_and_free_expired_stateid(struct nfs_server *server, in nfs41_test_and_free_expired_stateid() argument
2819 status = nfs41_test_stateid(server, stateid, cred); in nfs41_test_and_free_expired_stateid()
2830 nfs41_free_stateid(server, stateid, cred, true); in nfs41_test_and_free_expired_stateid()
2836 struct nfs_server *server = NFS_SERVER(state->inode); in nfs41_check_delegation_stateid() local
2865 status = nfs41_test_and_free_expired_stateid(server, &stateid, cred); in nfs41_check_delegation_stateid()
2901 struct nfs_server *server = NFS_SERVER(state->inode); in nfs41_check_expired_locks() local
2917 status = nfs41_test_and_free_expired_stateid(server, in nfs41_check_expired_locks()
2951 struct nfs_server *server = NFS_SERVER(state->inode); in nfs41_check_open_stateid() local
2958 status = nfs41_test_and_free_expired_stateid(server, stateid, cred); in nfs41_check_open_stateid()
2997 const __u32 *bitmask = opendata->o_arg.server->exclcreat_bitmask; in nfs4_exclusive_attrset()
3034 struct nfs_server *server = sp->so_server; in _nfs4_open_and_get_state() local
3055 if (server->caps & NFS_CAP_POSIX_LOCK) in _nfs4_open_and_get_state()
3098 nfs4_schedule_stateid_recovery(server, state); in _nfs4_open_and_get_state()
3118 struct nfs_server *server = NFS_SERVER(dir); in _nfs4_do_open() local
3131 sp = nfs4_get_state_owner(server, cred, GFP_KERNEL); in _nfs4_do_open()
3136 status = nfs4_client_recover_expired_lease(server->nfs_client); in _nfs4_do_open()
3149 if (server->attr_bitmask[2] & FATTR4_WORD2_MDSTHRESHOLD) { in _nfs4_do_open()
3191 if (pnfs_use_threshold(ctx_th, opendata->f_attr.mdsthreshold, server)) { in _nfs4_do_open()
3215 struct nfs_server *server = NFS_SERVER(dir); in nfs4_do_open() local
3265 nfs4_schedule_lease_recovery(server->nfs_client); in nfs4_do_open()
3274 if (nfs4_clear_cap_atomic_open_v1(server, status, &exception)) in nfs4_do_open()
3276 res = ERR_PTR(nfs4_handle_exception(server, in nfs4_do_open()
3288 struct nfs_server *server = NFS_SERVER(inode); in _nfs4_do_setattr() local
3332 status = nfs4_call_sync(server->client, server, &msg, &arg->seq_args, &res->seq_res, 1); in _nfs4_do_setattr()
3336 renew_lease(server, timestamp); in _nfs4_do_setattr()
3345 struct nfs_server *server = NFS_SERVER(inode); in nfs4_do_setattr() local
3351 .server = server, in nfs4_do_setattr()
3357 .server = server, in nfs4_do_setattr()
3373 nfs4_bitmap_copy_adjust(bitmask, nfs4_bitmask(server, fattr->label), in nfs4_do_setattr()
3384 server->nfs_client->cl_hostname); in nfs4_do_setattr()
3393 err = nfs4_handle_exception(server, err, &exception); in nfs4_do_setattr()
3540 struct nfs_server *server = NFS_SERVER(calldata->inode); in nfs4_close_done() local
3563 renew_lease(server, calldata->timestamp); in nfs4_close_done()
3582 nfs4_free_revoked_stateid(server, in nfs4_close_done()
3592 server, task->tk_status, &exception); in nfs4_close_done()
3615 struct nfs_server *server = NFS_SERVER(inode); in nfs4_close_prepare() local
3672 server->cache_consistency_bitmask, in nfs4_close_prepare()
3673 inode, server, NULL); in nfs4_close_prepare()
3719 struct nfs_server *server = NFS_SERVER(state->inode); in nfs4_do_close() local
3729 .rpc_client = server->client, in nfs4_do_close()
3737 if (server->nfs_client->cl_minorversion) in nfs4_do_close()
3740 nfs4_state_protect(server->nfs_client, NFS_SP4_MACH_CRED_CLEANUP, in nfs4_do_close()
3753 alloc_seqid = server->nfs_client->cl_mvops->alloc_seqid; in nfs4_do_close()
3762 calldata->res.server = server; in nfs4_do_close()
3824 static int _nfs4_server_capabilities(struct nfs_server *server, struct nfs_fh *fhandle) in _nfs4_server_capabilities() argument
3826 u32 bitmask[3] = {}, minorversion = server->nfs_client->cl_minorversion; in _nfs4_server_capabilities()
3848 status = nfs4_call_sync(server->client, server, &msg, &args.seq_args, &res.seq_res, 0); in _nfs4_server_capabilities()
3862 memcpy(server->attr_bitmask, res.attr_bitmask, sizeof(server->attr_bitmask)); in _nfs4_server_capabilities()
3863 server->caps &= ~(NFS_CAP_ACLS | NFS_CAP_HARDLINKS | in _nfs4_server_capabilities()
3865 server->fattr_valid = NFS_ATTR_FATTR_V4; in _nfs4_server_capabilities()
3868 server->caps |= NFS_CAP_ACLS; in _nfs4_server_capabilities()
3870 server->caps |= NFS_CAP_HARDLINKS; in _nfs4_server_capabilities()
3872 server->caps |= NFS_CAP_SYMLINKS; in _nfs4_server_capabilities()
3875 server->caps |= NFS_CAP_SECURITY_LABEL; in _nfs4_server_capabilities()
3878 server->fattr_valid &= ~NFS_ATTR_FATTR_FILEID; in _nfs4_server_capabilities()
3880 server->fattr_valid &= ~NFS_ATTR_FATTR_MODE; in _nfs4_server_capabilities()
3882 server->fattr_valid &= ~NFS_ATTR_FATTR_NLINK; in _nfs4_server_capabilities()
3884 server->fattr_valid &= ~(NFS_ATTR_FATTR_OWNER | in _nfs4_server_capabilities()
3887 server->fattr_valid &= ~(NFS_ATTR_FATTR_GROUP | in _nfs4_server_capabilities()
3890 server->fattr_valid &= ~NFS_ATTR_FATTR_SPACE_USED; in _nfs4_server_capabilities()
3892 server->fattr_valid &= ~NFS_ATTR_FATTR_ATIME; in _nfs4_server_capabilities()
3894 server->fattr_valid &= ~NFS_ATTR_FATTR_CTIME; in _nfs4_server_capabilities()
3896 server->fattr_valid &= ~NFS_ATTR_FATTR_MTIME; in _nfs4_server_capabilities()
3897 memcpy(server->attr_bitmask_nl, res.attr_bitmask, in _nfs4_server_capabilities()
3898 sizeof(server->attr_bitmask)); in _nfs4_server_capabilities()
3899 server->attr_bitmask_nl[2] &= ~FATTR4_WORD2_SECURITY_LABEL; in _nfs4_server_capabilities()
3901 …memcpy(server->cache_consistency_bitmask, res.attr_bitmask, sizeof(server->cache_consistency_bitma… in _nfs4_server_capabilities()
3902 server->cache_consistency_bitmask[0] &= FATTR4_WORD0_CHANGE|FATTR4_WORD0_SIZE; in _nfs4_server_capabilities()
3903 server->cache_consistency_bitmask[1] &= FATTR4_WORD1_TIME_METADATA|FATTR4_WORD1_TIME_MODIFY; in _nfs4_server_capabilities()
3904 server->cache_consistency_bitmask[2] = 0; in _nfs4_server_capabilities()
3909 memcpy(server->exclcreat_bitmask, res.exclcreat_bitmask, in _nfs4_server_capabilities()
3910 sizeof(server->exclcreat_bitmask)); in _nfs4_server_capabilities()
3912 server->acl_bitmask = res.acl_bitmask; in _nfs4_server_capabilities()
3913 server->fh_expire_type = res.fh_expire_type; in _nfs4_server_capabilities()
3919 int nfs4_server_capabilities(struct nfs_server *server, struct nfs_fh *fhandle) in nfs4_server_capabilities() argument
3926 nfs4_server_set_init_caps(server); in nfs4_server_capabilities()
3928 err = nfs4_handle_exception(server, in nfs4_server_capabilities()
3929 _nfs4_server_capabilities(server, fhandle), in nfs4_server_capabilities()
3935 static int _nfs4_lookup_root(struct nfs_server *server, struct nfs_fh *fhandle, in _nfs4_lookup_root() argument
3943 .server = server, in _nfs4_lookup_root()
3961 return nfs4_call_sync(server->client, server, &msg, &args.seq_args, &res.seq_res, 0); in _nfs4_lookup_root()
3964 static int nfs4_lookup_root(struct nfs_server *server, struct nfs_fh *fhandle, in nfs4_lookup_root() argument
3972 err = _nfs4_lookup_root(server, fhandle, info); in nfs4_lookup_root()
3973 trace_nfs4_lookup_root(server, fhandle, info->fattr, err); in nfs4_lookup_root()
3979 err = nfs4_handle_exception(server, err, &exception); in nfs4_lookup_root()
3986 static int nfs4_lookup_root_sec(struct nfs_server *server, struct nfs_fh *fhandle, in nfs4_lookup_root_sec() argument
3994 auth = rpcauth_create(&auth_args, server->client); in nfs4_lookup_root_sec()
3997 return nfs4_lookup_root(server, fhandle, info); in nfs4_lookup_root_sec()
4009 static int nfs4_find_root_sec(struct nfs_server *server, struct nfs_fh *fhandle, in nfs4_find_root_sec() argument
4023 if (server->auth_info.flavor_len > 0) { in nfs4_find_root_sec()
4025 for (i = 0; i < server->auth_info.flavor_len; i++) { in nfs4_find_root_sec()
4026 status = nfs4_lookup_root_sec(server, fhandle, info, in nfs4_find_root_sec()
4027 server->auth_info.flavors[i]); in nfs4_find_root_sec()
4035 status = nfs4_lookup_root_sec(server, fhandle, info, in nfs4_find_root_sec()
4064 int nfs4_proc_get_rootfh(struct nfs_server *server, struct nfs_fh *fhandle, in nfs4_proc_get_rootfh() argument
4071 status = nfs4_lookup_root(server, fhandle, info); in nfs4_proc_get_rootfh()
4074 status = server->nfs_client->cl_mvops->find_root_sec(server, in nfs4_proc_get_rootfh()
4078 status = nfs4_server_capabilities(server, fhandle); in nfs4_proc_get_rootfh()
4080 status = nfs4_do_fsinfo(server, fhandle, info); in nfs4_proc_get_rootfh()
4085 static int nfs4_proc_get_root(struct nfs_server *server, struct nfs_fh *mntfh, in nfs4_proc_get_root() argument
4091 error = nfs4_server_capabilities(server, mntfh); in nfs4_proc_get_root()
4097 error = nfs4_proc_getattr(server, mntfh, fattr, NULL); in nfs4_proc_get_root()
4104 !nfs_fsid_equal(&server->fsid, &fattr->fsid)) in nfs4_proc_get_root()
4105 memcpy(&server->fsid, &fattr->fsid, sizeof(server->fsid)); in nfs4_proc_get_root()
4159 static int _nfs4_proc_getattr(struct nfs_server *server, struct nfs_fh *fhandle, in _nfs4_proc_getattr() argument
4169 .server = server, in _nfs4_proc_getattr()
4178 if (nfs4_has_session(server->nfs_client)) in _nfs4_proc_getattr()
4182 if (inode && (server->flags & NFS_MOUNT_SOFTREVAL)) in _nfs4_proc_getattr()
4185 nfs4_bitmap_copy_adjust(bitmask, nfs4_bitmask(server, fattr->label), inode, 0); in _nfs4_proc_getattr()
4188 return nfs4_do_call_sync(server->client, server, &msg, in _nfs4_proc_getattr()
4192 int nfs4_proc_getattr(struct nfs_server *server, struct nfs_fh *fhandle, in nfs4_proc_getattr() argument
4200 err = _nfs4_proc_getattr(server, fhandle, fattr, inode); in nfs4_proc_getattr()
4201 trace_nfs4_getattr(server, fhandle, fattr, err); in nfs4_proc_getattr()
4202 err = nfs4_handle_exception(server, err, in nfs4_proc_getattr()
4273 struct nfs_server *server = NFS_SERVER(dir); in _nfs4_proc_lookup() local
4276 .bitmask = server->attr_bitmask, in _nfs4_proc_lookup()
4281 .server = server, in _nfs4_proc_lookup()
4292 if (server->nfs_client->cl_minorversion) in _nfs4_proc_lookup()
4299 args.bitmask = nfs4_bitmask(server, fattr->label); in _nfs4_proc_lookup()
4305 status = nfs4_do_call_sync(clnt, server, &msg, in _nfs4_proc_lookup()
4396 struct nfs_server *server = NFS_SERVER(inode); in _nfs4_proc_lookupp() local
4399 .bitmask = server->attr_bitmask, in _nfs4_proc_lookupp()
4403 .server = server, in _nfs4_proc_lookupp()
4417 args.bitmask = nfs4_bitmask(server, fattr->label); in _nfs4_proc_lookupp()
4422 status = nfs4_call_sync(clnt, server, &msg, &args.seq_args, in _nfs4_proc_lookupp()
4446 struct nfs_server *server = NFS_SERVER(inode); in _nfs4_proc_access() local
4452 .server = server, in _nfs4_proc_access()
4466 args.bitmask = server->cache_consistency_bitmask; in _nfs4_proc_access()
4468 status = nfs4_call_sync(server->client, server, &msg, &args.seq_args, &res.seq_res, 0); in _nfs4_proc_access()
4557 struct nfs_server *server = NFS_SERVER(dir); in nfs4_proc_create() local
4569 if (!(server->attr_bitmask[2] & FATTR4_WORD2_MODE_UMASK)) in nfs4_proc_create()
4585 struct nfs_server *server = NFS_SERVER(dir); in _nfs4_proc_remove() local
4591 .server = server, in _nfs4_proc_remove()
4601 status = nfs4_call_sync(server->client, server, &msg, &args.seq_args, &res.seq_res, 1); in _nfs4_proc_remove()
4660 res->server = NFS_SB(dentry->d_sb); in nfs4_proc_unlink_setup()
4685 if (nfs4_async_handle_error(task, res->server, NULL, in nfs4_proc_unlink_done()
4709 res->server = NFS_SB(old_dentry->d_sb); in nfs4_proc_rename_setup()
4729 if (nfs4_async_handle_error(task, res->server, NULL, &data->timeout) == -EAGAIN) in nfs4_proc_rename_done()
4753 struct nfs_server *server = NFS_SERVER(inode); in _nfs4_proc_link() local
4762 .server = server, in _nfs4_proc_link()
4771 res.fattr = nfs_alloc_fattr_with_label(server); in _nfs4_proc_link()
4776 nfs4_bitmap_copy_adjust(bitmask, nfs4_bitmask(server, res.fattr->label), inode, in _nfs4_proc_link()
4778 status = nfs4_call_sync(server->client, server, &msg, &arg.seq_args, &res.seq_res, 1); in _nfs4_proc_link()
4822 struct nfs_server *server = NFS_SERVER(dir); in nfs4_alloc_createdata() local
4824 data->fattr.label = nfs4_label_alloc(server, GFP_KERNEL); in nfs4_alloc_createdata()
4832 data->arg.server = server; in nfs4_alloc_createdata()
4836 data->arg.bitmask = nfs4_bitmask(server, data->fattr.label); in nfs4_alloc_createdata()
4838 data->res.server = server; in nfs4_alloc_createdata()
4943 struct nfs_server *server = NFS_SERVER(dir); in nfs4_proc_mkdir() local
4952 if (!(server->attr_bitmask[2] & FATTR4_WORD2_MODE_UMASK)) in nfs4_proc_mkdir()
4969 struct nfs_server *server = NFS_SERVER(dir); in _nfs4_proc_readdir() local
4988 if (!(server->caps & NFS_CAP_SECURITY_LABEL)) in _nfs4_proc_readdir()
4989 args.bitmask = server->attr_bitmask_nl; in _nfs4_proc_readdir()
4991 args.bitmask = server->attr_bitmask; in _nfs4_proc_readdir()
4995 status = nfs4_call_sync(server->client, server, &msg, &args.seq_args, in _nfs4_proc_readdir()
5062 struct nfs_server *server = NFS_SERVER(dir); in nfs4_proc_mknod() local
5071 if (!(server->attr_bitmask[2] & FATTR4_WORD2_MODE_UMASK)) in nfs4_proc_mknod()
5085 static int _nfs4_proc_statfs(struct nfs_server *server, struct nfs_fh *fhandle, in _nfs4_proc_statfs() argument
5090 .bitmask = server->attr_bitmask, in _nfs4_proc_statfs()
5102 return nfs4_call_sync(server->client, server, &msg, &args.seq_args, &res.seq_res, 0); in _nfs4_proc_statfs()
5105 static int nfs4_proc_statfs(struct nfs_server *server, struct nfs_fh *fhandle, struct nfs_fsstat *f… in nfs4_proc_statfs() argument
5112 err = nfs4_handle_exception(server, in nfs4_proc_statfs()
5113 _nfs4_proc_statfs(server, fhandle, fsstat), in nfs4_proc_statfs()
5119 static int _nfs4_do_fsinfo(struct nfs_server *server, struct nfs_fh *fhandle, in _nfs4_do_fsinfo() argument
5124 .bitmask = server->attr_bitmask, in _nfs4_do_fsinfo()
5135 return nfs4_call_sync(server->client, server, &msg, &args.seq_args, &res.seq_res, 0); in _nfs4_do_fsinfo()
5138 static int nfs4_do_fsinfo(struct nfs_server *server, struct nfs_fh *fhandle, struct nfs_fsinfo *fsi… in nfs4_do_fsinfo() argument
5146 err = _nfs4_do_fsinfo(server, fhandle, fsinfo); in nfs4_do_fsinfo()
5147 trace_nfs4_fsinfo(server, fhandle, fsinfo->fattr, err); in nfs4_do_fsinfo()
5149 nfs4_set_lease_period(server->nfs_client, fsinfo->lease_time * HZ); in nfs4_do_fsinfo()
5152 err = nfs4_handle_exception(server, err, &exception); in nfs4_do_fsinfo()
5157 static int nfs4_proc_fsinfo(struct nfs_server *server, struct nfs_fh *fhandle, struct nfs_fsinfo *f… in nfs4_proc_fsinfo() argument
5162 error = nfs4_do_fsinfo(server, fhandle, fsinfo); in nfs4_proc_fsinfo()
5165 server->pnfs_blksize = fsinfo->blksize; in nfs4_proc_fsinfo()
5166 set_pnfs_layoutdriver(server, fhandle, fsinfo); in nfs4_proc_fsinfo()
5172 static int _nfs4_proc_pathconf(struct nfs_server *server, struct nfs_fh *fhandle, in _nfs4_proc_pathconf() argument
5177 .bitmask = server->attr_bitmask, in _nfs4_proc_pathconf()
5195 return nfs4_call_sync(server->client, server, &msg, &args.seq_args, &res.seq_res, 0); in _nfs4_proc_pathconf()
5198 static int nfs4_proc_pathconf(struct nfs_server *server, struct nfs_fh *fhandle, in nfs4_proc_pathconf() argument
5207 err = nfs4_handle_exception(server, in nfs4_proc_pathconf()
5208 _nfs4_proc_pathconf(server, fhandle, pathconf), in nfs4_proc_pathconf()
5253 struct nfs_server *server = NFS_SERVER(hdr->inode); in nfs4_read_done_cb() local
5263 server, task->tk_status, &exception); in nfs4_read_done_cb()
5271 renew_lease(server, hdr->timestamp); in nfs4_read_done_cb()
5292 struct nfs_server *server = NFS_SERVER(hdr->inode); in nfs4_read_plus_not_supported() local
5296 server->caps & NFS_CAP_READ_PLUS && task->tk_status == -ENOTSUPP) { in nfs4_read_plus_not_supported()
5297 server->caps &= ~NFS_CAP_READ_PLUS; in nfs4_read_plus_not_supported()
5426 struct inode *inode, struct nfs_server *server, in nfs4_bitmask_set() argument
5457 bitmask[i] &= server->attr_bitmask[i]; in nfs4_bitmask_set()
5464 struct nfs_server *server = NFS_SERVER(hdr->inode); in nfs4_proc_write_setup() local
5471 server->cache_consistency_bitmask, in nfs4_proc_write_setup()
5472 hdr->inode, server, NULL); in nfs4_proc_write_setup()
5478 hdr->res.server = server; in nfs4_proc_write_setup()
5483 nfs4_state_protect_write(server->nfs_client, clnt, msg, hdr); in nfs4_proc_write_setup()
5517 struct nfs_server *server = NFS_SERVER(data->inode); in nfs4_proc_commit_setup() local
5521 data->res.server = server; in nfs4_proc_commit_setup()
5524 nfs4_state_protect(server->nfs_client, NFS_SP4_MACH_CRED_COMMIT, clnt, msg); in nfs4_proc_commit_setup()
5531 struct nfs_server *server = NFS_SERVER(dst_inode); in _nfs4_proc_commit() local
5539 return nfs4_call_sync(server->client, server, &msg, in _nfs4_proc_commit()
5653 static inline int nfs4_server_supports_acls(struct nfs_server *server) in nfs4_server_supports_acls() argument
5655 return server->caps & NFS_CAP_ACLS; in nfs4_server_supports_acls()
5788 struct nfs_server *server = NFS_SERVER(inode); in __nfs4_get_acl_uncached() local
5791 buflen = server->rsize; in __nfs4_get_acl_uncached()
5866 struct nfs_server *server = NFS_SERVER(inode); in nfs4_proc_get_acl() local
5869 if (!nfs4_server_supports_acls(server)) in nfs4_proc_get_acl()
5886 struct nfs_server *server = NFS_SERVER(inode); in __nfs4_proc_set_acl() local
5905 if (!nfs4_server_supports_acls(server)) in __nfs4_proc_set_acl()
5913 ret = nfs4_call_sync(server->client, server, &msg, &arg.seq_args, &res.seq_res, 1); in __nfs4_proc_set_acl()
5961 struct nfs_server *server = NFS_SERVER(inode); in _nfs4_get_security_label() local
5974 .server = server, in _nfs4_get_security_label()
5985 ret = nfs4_call_sync(server->client, server, &msg, &arg.seq_args, &res.seq_res, 0); in _nfs4_get_security_label()
6019 struct nfs_server *server = NFS_SERVER(inode); in _nfs4_do_set_security_label() local
6024 .server = server, in _nfs4_do_set_security_label()
6030 .server = server, in _nfs4_do_set_security_label()
6041 status = nfs4_call_sync(server->client, server, &msg, &arg.seq_args, &res.seq_res, 1); in _nfs4_do_set_security_label()
6393 renew_lease(data->res.server, data->timestamp); in nfs4_delegreturn_done()
6398 nfs4_free_revoked_stateid(data->res.server, in nfs4_delegreturn_done()
6424 data->res.server, task->tk_status, in nfs4_delegreturn_done()
6470 nfs4_setup_sequence(d_data->res.server->nfs_client, in nfs4_delegreturn_prepare()
6485 struct nfs_server *server = NFS_SERVER(inode); in _nfs4_proc_delegreturn() local
6492 .rpc_client = server->client, in _nfs4_proc_delegreturn()
6503 nfs4_state_protect(server->nfs_client, in _nfs4_proc_delegreturn()
6510 server->cache_consistency_bitmask, inode, server, in _nfs4_proc_delegreturn()
6516 data->res.server = server; in _nfs4_proc_delegreturn()
6557 struct nfs_server *server = NFS_SERVER(inode); in nfs4_proc_delegreturn() local
6569 err = nfs4_handle_exception(server, err, &exception); in nfs4_proc_delegreturn()
6577 struct nfs_server *server = NFS_SERVER(inode); in _nfs4_proc_getlk() local
6578 struct nfs_client *clp = server->nfs_client; in _nfs4_proc_getlk()
6601 arg.lock_owner.s_dev = server->s_dev; in _nfs4_proc_getlk()
6602 status = nfs4_call_sync(server->client, server, &msg, &arg.seq_args, &res.seq_res, 1); in _nfs4_proc_getlk()
6675 struct nfs_server *server; member
6701 p->server = NFS_SERVER(inode); in nfs4_alloc_unlockdata()
6730 renew_lease(calldata->server, calldata->timestamp); in nfs4_locku_done()
6738 nfs4_free_revoked_stateid(calldata->server, in nfs4_locku_done()
6755 calldata->server, task->tk_status, in nfs4_locku_done()
6778 if (nfs4_setup_sequence(calldata->server->nfs_client, in nfs4_locku_prepare()
6900 struct nfs_server *server; member
6909 struct nfs_server *server = NFS_SERVER(inode); in nfs4_alloc_lockdata() local
6921 alloc_seqid = server->nfs_client->cl_mvops->alloc_seqid; in nfs4_alloc_lockdata()
6925 p->arg.lock_owner.clientid = server->nfs_client->cl_clientid; in nfs4_alloc_lockdata()
6927 p->arg.lock_owner.s_dev = server->s_dev; in nfs4_alloc_lockdata()
6930 p->server = server; in nfs4_alloc_lockdata()
6969 if (nfs4_setup_sequence(data->server->nfs_client, in nfs4_lock_prepare()
7054 static void nfs4_handle_setlk_error(struct nfs_server *server, struct nfs4_lock_state *lsp, int new… in nfs4_handle_setlk_error() argument
7063 nfs4_schedule_stateid_recovery(server, lsp->ls_state); in nfs4_handle_setlk_error()
7067 nfs4_schedule_lease_recovery(server->nfs_client); in nfs4_handle_setlk_error()
7116 nfs4_handle_setlk_error(data->server, data->lsp, in _nfs4_do_setlk()
7128 struct nfs_server *server = NFS_SERVER(state->inode); in nfs4_lock_reclaim() local
7141 nfs4_handle_exception(server, err, &exception); in nfs4_lock_reclaim()
7148 struct nfs_server *server = NFS_SERVER(state->inode); in nfs4_lock_expired() local
7170 nfs4_handle_exception(server, err, &exception); in nfs4_lock_expired()
7301 struct nfs_server *server = NFS_SERVER(state->inode); in nfs4_retry_setlk() local
7302 struct nfs_client *clp = server->nfs_client; in nfs4_retry_setlk()
7308 .s_dev = server->s_dev }, in nfs4_retry_setlk()
7437 struct nfs_server *server = NFS_SERVER(state->inode); in nfs4_lock_delegation_recall() local
7449 return nfs4_handle_delegation_recall_error(server, state, stateid, fl, err); in nfs4_lock_delegation_recall()
7454 struct nfs_server *server; member
7463 struct nfs_server *server = data->server; in nfs4_release_lockowner_prepare() local
7464 nfs4_setup_sequence(server->nfs_client, &data->args.seq_args, in nfs4_release_lockowner_prepare()
7466 data->args.lock_owner.clientid = server->nfs_client->cl_clientid; in nfs4_release_lockowner_prepare()
7473 struct nfs_server *server = data->server; in nfs4_release_lockowner_done() local
7479 renew_lease(server, data->timestamp); in nfs4_release_lockowner_done()
7483 nfs4_schedule_lease_recovery(server->nfs_client); in nfs4_release_lockowner_done()
7487 if (nfs4_async_handle_error(task, server, in nfs4_release_lockowner_done()
7496 nfs4_free_lock_state(data->server, data->lsp); in nfs4_release_lockowner_release()
7507 nfs4_release_lockowner(struct nfs_server *server, struct nfs4_lock_state *lsp) in nfs4_release_lockowner() argument
7514 if (server->nfs_client->cl_mvops->minor_version != 0) in nfs4_release_lockowner()
7521 data->server = server; in nfs4_release_lockowner()
7522 data->args.lock_owner.clientid = server->nfs_client->cl_clientid; in nfs4_release_lockowner()
7524 data->args.lock_owner.s_dev = server->s_dev; in nfs4_release_lockowner()
7529 rpc_call_async(server->client, &msg, 0, &nfs4_release_lockowner_ops, data); in nfs4_release_lockowner()
7757 struct nfs_server *server = NFS_SERVER(dir); in _nfs4_proc_fs_locations() local
7788 fs_locations->server = server; in _nfs4_proc_fs_locations()
7790 status = nfs4_call_sync(client, server, &msg, &args.seq_args, &res.seq_res, 0); in _nfs4_proc_fs_locations()
7825 struct nfs_server *server = NFS_SERVER(inode); in _nfs40_proc_get_locations() local
7826 struct rpc_clnt *clnt = server->client; in _nfs40_proc_get_locations()
7831 .clientid = server->nfs_client->cl_clientid, in _nfs40_proc_get_locations()
7853 locations->server = server; in _nfs40_proc_get_locations()
7857 status = nfs4_call_sync_sequence(clnt, server, &msg, in _nfs40_proc_get_locations()
7862 renew_lease(server, now); in _nfs40_proc_get_locations()
7882 struct nfs_server *server = NFS_SERVER(inode); in _nfs41_proc_get_locations() local
7883 struct rpc_clnt *clnt = server->client; in _nfs41_proc_get_locations()
7906 locations->server = server; in _nfs41_proc_get_locations()
7910 status = nfs4_call_sync_sequence(clnt, server, &msg, in _nfs41_proc_get_locations()
7941 struct nfs_server *server = NFS_SERVER(inode); in nfs4_proc_get_locations() local
7942 struct nfs_client *clp = server->nfs_client; in nfs4_proc_get_locations()
7951 (unsigned long long)server->fsid.major, in nfs4_proc_get_locations()
7952 (unsigned long long)server->fsid.minor, in nfs4_proc_get_locations()
7960 nfs4_handle_exception(server, status, &exception); in nfs4_proc_get_locations()
7974 struct nfs_server *server = NFS_SERVER(inode); in _nfs40_proc_fsid_present() local
7976 struct rpc_clnt *clnt = server->client; in _nfs40_proc_fsid_present()
7999 status = nfs4_call_sync_sequence(clnt, server, &msg, in _nfs40_proc_fsid_present()
8020 struct nfs_server *server = NFS_SERVER(inode); in _nfs41_proc_fsid_present() local
8021 struct rpc_clnt *clnt = server->client; in _nfs41_proc_fsid_present()
8040 status = nfs4_call_sync_sequence(clnt, server, &msg, in _nfs41_proc_fsid_present()
8067 struct nfs_server *server = NFS_SERVER(inode); in nfs4_proc_fsid_present() local
8068 struct nfs_client *clp = server->nfs_client; in nfs4_proc_fsid_present()
8077 (unsigned long long)server->fsid.major, in nfs4_proc_fsid_present()
8078 (unsigned long long)server->fsid.minor, in nfs4_proc_fsid_present()
8086 nfs4_handle_exception(server, status, &exception); in nfs4_proc_fsid_present()
9344 struct nfs_server *server = NFS_SERVER(lgp->args.inode); in nfs4_layoutget_prepare() local
9346 nfs4_setup_sequence(server->nfs_client, &lgp->args.seq_args, in nfs4_layoutget_prepare()
9362 struct nfs_server *server = NFS_SERVER(inode); in nfs4_layoutget_handle_exception() local
9435 err = nfs4_handle_exception(server, nfs4err, exception); in nfs4_layoutget_handle_exception()
9446 size_t max_response_pages(struct nfs_server *server) in max_response_pages() argument
9448 u32 max_resp_sz = server->nfs_client->cl_session->fc_attrs.max_resp_sz; in max_response_pages()
9470 struct nfs_server *server = NFS_SERVER(inode); in nfs4_proc_layoutget() local
9479 .rpc_client = server->client, in nfs4_proc_layoutget()
9539 struct nfs_server *server; in nfs4_layoutreturn_done() local
9553 server = NFS_SERVER(lrp->args.inode); in nfs4_layoutreturn_done()
9567 if (nfs4_async_handle_error(task, server, NULL, NULL) != -EAGAIN) in nfs4_layoutreturn_done()
9648 _nfs4_proc_getdeviceinfo(struct nfs_server *server, in _nfs4_proc_getdeviceinfo() argument
9668 status = nfs4_call_sync(server->client, server, &msg, &args.seq_args, &res.seq_res, 0); in _nfs4_proc_getdeviceinfo()
9674 trace_nfs4_getdeviceinfo(server, &pdev->dev_id, status); in _nfs4_proc_getdeviceinfo()
9681 int nfs4_proc_getdeviceinfo(struct nfs_server *server, in nfs4_proc_getdeviceinfo() argument
9689 err = nfs4_handle_exception(server, in nfs4_proc_getdeviceinfo()
9690 _nfs4_proc_getdeviceinfo(server, pdev, cred), in nfs4_proc_getdeviceinfo()
9700 struct nfs_server *server = NFS_SERVER(data->args.inode); in nfs4_layoutcommit_prepare() local
9702 nfs4_setup_sequence(server->nfs_client, in nfs4_layoutcommit_prepare()
9712 struct nfs_server *server = NFS_SERVER(data->args.inode); in nfs4_layoutcommit_done() local
9727 if (nfs4_async_handle_error(task, server, NULL, NULL) == -EAGAIN) { in nfs4_layoutcommit_done()
9802 _nfs41_proc_secinfo_no_name(struct nfs_server *server, struct nfs_fh *fhandle, in _nfs41_proc_secinfo_no_name() argument
9818 .seq_server = server, in _nfs41_proc_secinfo_no_name()
9823 .rpc_client = server->client, in _nfs41_proc_secinfo_no_name()
9825 .callback_ops = server->nfs_client->cl_mvops->call_sync_ops, in _nfs41_proc_secinfo_no_name()
9833 task_setup.rpc_client = server->nfs_client->cl_rpcclient; in _nfs41_proc_secinfo_no_name()
9835 cred = nfs4_get_clid_cred(server->nfs_client); in _nfs41_proc_secinfo_no_name()
9849 nfs41_proc_secinfo_no_name(struct nfs_server *server, struct nfs_fh *fhandle, in nfs41_proc_secinfo_no_name() argument
9861 if (_nfs4_is_integrity_protected(server->nfs_client)) in nfs41_proc_secinfo_no_name()
9862 err = _nfs41_proc_secinfo_no_name(server, fhandle, info, in nfs41_proc_secinfo_no_name()
9872 err = _nfs41_proc_secinfo_no_name(server, fhandle, info, in nfs41_proc_secinfo_no_name()
9881 err = nfs4_handle_exception(server, err, &exception); in nfs41_proc_secinfo_no_name()
9889 nfs41_find_root_sec(struct nfs_server *server, struct nfs_fh *fhandle, in nfs41_find_root_sec() argument
9906 err = nfs41_proc_secinfo_no_name(server, fhandle, info, flavors); in nfs41_find_root_sec()
9913 err = nfs4_find_root_sec(server, fhandle, info); in nfs41_find_root_sec()
9934 if (!nfs_auth_info_match(&server->auth_info, flavor)) in nfs41_find_root_sec()
9938 err = nfs4_lookup_root_sec(server, fhandle, in nfs41_find_root_sec()
9956 static int _nfs41_test_stateid(struct nfs_server *server, in _nfs41_test_stateid() argument
9971 struct rpc_clnt *rpc_client = server->client; in _nfs41_test_stateid()
9973 nfs4_state_protect(server->nfs_client, NFS_SP4_MACH_CRED_STATEID, in _nfs41_test_stateid()
9978 status = nfs4_call_sync_sequence(rpc_client, server, &msg, in _nfs41_test_stateid()
9988 static void nfs4_handle_delay_or_session_error(struct nfs_server *server, in nfs4_handle_delay_or_session_error() argument
9995 nfs4_handle_exception(server, err, exception); in nfs4_handle_delay_or_session_error()
10002 nfs4_do_handle_exception(server, err, exception); in nfs4_handle_delay_or_session_error()
10017 static int nfs41_test_stateid(struct nfs_server *server, in nfs41_test_stateid() argument
10026 err = _nfs41_test_stateid(server, stateid, cred); in nfs41_test_stateid()
10027 nfs4_handle_delay_or_session_error(server, err, &exception); in nfs41_test_stateid()
10033 struct nfs_server *server; member
10041 nfs4_setup_sequence(data->server->nfs_client, in nfs41_free_stateid_prepare()
10055 if (nfs4_async_handle_error(task, data->server, NULL, NULL) == -EAGAIN) in nfs41_free_stateid_done()
10063 struct nfs_client *clp = data->server->nfs_client; in nfs41_free_stateid_release()
10085 static int nfs41_free_stateid(struct nfs_server *server, in nfs41_free_stateid() argument
10095 .rpc_client = server->client, in nfs41_free_stateid()
10102 struct nfs_client *clp = server->nfs_client; in nfs41_free_stateid()
10107 nfs4_state_protect(server->nfs_client, NFS_SP4_MACH_CRED_STATEID, in nfs41_free_stateid()
10114 data->server = server; in nfs41_free_stateid()
10130 nfs41_free_lock_state(struct nfs_server *server, struct nfs4_lock_state *lsp) in nfs41_free_lock_state() argument
10134 nfs41_free_stateid(server, &lsp->ls_stateid, cred, false); in nfs41_free_lock_state()
10135 nfs4_free_lock_state(server, lsp); in nfs41_free_lock_state()