nfs_server
bl_find_get_deviceid(struct nfs_server *server,
bl_set_layoutdriver(struct nfs_server *server, const struct nfs_fh *fh)
struct nfs4_deviceid_node *bl_alloc_deviceid_node(struct nfs_server *server,
dev_t bl_resolve_deviceid(struct nfs_server *server,
bl_parse_deviceid(struct nfs_server *server, struct pnfs_block_dev *d,
bl_parse_simple(struct nfs_server *server, struct pnfs_block_dev *d,
bl_parse_scsi(struct nfs_server *server, struct pnfs_block_dev *d,
bl_parse_slice(struct nfs_server *server, struct pnfs_block_dev *d,
bl_parse_concat(struct nfs_server *server, struct pnfs_block_dev *d,
bl_parse_stripe(struct nfs_server *server, struct pnfs_block_dev *d,
bl_parse_deviceid(struct nfs_server *server, struct pnfs_block_dev *d,
bl_alloc_deviceid_node(struct nfs_server *server, struct pnfs_device *pdev,
bl_resolve_deviceid(struct nfs_server *server, struct pnfs_block_volume *b,
struct nfs_server *server;
struct nfs_server *server;
struct nfs_server *server;
void nfs_server_insert_lists(struct nfs_server *server)
void nfs_server_remove_lists(struct nfs_server *server)
struct nfs_server *nfs_alloc_server(void)
struct nfs_server *server;
server = kzalloc_obj(struct nfs_server);
struct nfs_server *server = container_of(p, struct nfs_server, rcu);
void nfs_free_server(struct nfs_server *server)
struct nfs_server *nfs_create_server(struct fs_context *fc)
struct nfs_server *server;
struct nfs_server *nfs_clone_server(struct nfs_server *source,
struct nfs_server *server;
struct nfs_server *server;
server = list_entry(v, struct nfs_server, master_link);
static void pnfs_init_server(struct nfs_server *server)
static void pnfs_init_server(struct nfs_server *server)
static void nfs_destroy_server(struct nfs_server *server)
static int nfs_start_lockd(struct nfs_server *server)
int nfs_init_server_rpcclient(struct nfs_server *server,
static void nfs4_server_set_init_caps(struct nfs_server *server)
void nfs_server_set_init_caps(struct nfs_server *server)
static int nfs_init_server(struct nfs_server *server,
.hostname = ctx->nfs_server.hostname,
.addr = &ctx->nfs_server._address,
.addrlen = ctx->nfs_server.addrlen,
.proto = ctx->nfs_server.protocol,
.nconnect = ctx->nfs_server.nconnect,
nfs_init_timeout_values(&timeparms, ctx->nfs_server.protocol,
server->port = ctx->nfs_server.port;
static void nfs_server_set_fsinfo(struct nfs_server *server,
static int nfs_probe_fsinfo(struct nfs_server *server, struct nfs_fh *mntfh, struct nfs_fattr *fattr)
int nfs_probe_server(struct nfs_server *server, struct nfs_fh *mntfh)
void nfs_server_copy_userdata(struct nfs_server *target, struct nfs_server *source)
struct nfs_server *server;
static bool nfs_mark_return_unreferenced_delegations(struct nfs_server *server)
struct nfs_server *server;
struct nfs_server *server = NFS_SERVER(inode);
nfs_delegation_find_inode_server(struct nfs_server *server,
struct nfs_server *server;
static void nfs_delegation_mark_reclaim_server(struct nfs_server *server)
struct nfs_server *server;
static int nfs_server_reap_unclaimed_delegations(struct nfs_server *server,
static void nfs_mark_test_expired_delegation(struct nfs_server *server,
static void nfs_inode_mark_test_expired_delegation(struct nfs_server *server,
static void nfs_delegation_mark_test_expired_server(struct nfs_server *server)
struct nfs_server *server;
struct nfs_server *server = NFS_SERVER(inode);
static int nfs_server_reap_expired_delegations(struct nfs_server *server,
struct nfs_server *server;
int nfs4_delegation_hash_alloc(struct nfs_server *server)
struct nfs_server *server)
static struct hlist_head *nfs_delegation_hash(struct nfs_server *server,
nfs_update_inplace_delegation(struct nfs_server *server,
struct nfs_server *server = NFS_SERVER(inode);
static void nfs_mark_delegation_revoked(struct nfs_server *server,
struct nfs_server *server = NFS_SERVER(inode);
static int nfs_return_one_delegation(struct nfs_server *server)
static int nfs_server_return_marked_delegations(struct nfs_server *server,
static inline bool nfs_delegations_over_limit(struct nfs_server *server)
static void nfs_delegations_return_from_lru(struct nfs_server *server)
static void nfs_delegation_add_lru(struct nfs_server *server,
static bool nfs_server_clear_delayed_delegations(struct nfs_server *server)
struct nfs_server *server;
struct nfs_server *server = NFS_SERVER(inode);
struct nfs_server *server = NFS_SERVER(inode);
nfs_mark_return_if_closed_delegation(struct nfs_server *server,
static void nfs_mark_return_delegation(struct nfs_server *server,
static bool nfs_server_mark_return_all_delegations(struct nfs_server *server)
struct nfs_server *server;
void nfs_server_return_all_delegations(struct nfs_server *server)
static void nfs_mark_return_unused_delegation_types(struct nfs_server *server,
int nfs4_delegation_hash_alloc(struct nfs_server *server);
void nfs_server_return_all_delegations(struct nfs_server *);
struct nfs_server *server = NFS_SERVER(inode);
struct nfs_server *server = NFS_SERVER(file_inode(desc->file));
struct nfs_server *server = NFS_SERVER(dir);
struct nfs_server *server = NFS_SB(dentry->d_sb);
struct nfs_server *server = NFS_SB(old_dentry->d_sb);
struct nfs_server *server = NFS_SERVER(inode);
struct nfs_server *server = NFS_SB(sb);
struct nfs_server *server = NFS_SERVER(inode);
filelayout_alloc_deviceid_node(struct nfs_server *server,
nfs4_fl_alloc_deviceid_node(struct nfs_server *server,
struct nfs_server *s = NFS_SERVER(lseg->pls_layout->plh_inode);
nfs4_fl_alloc_deviceid_node(struct nfs_server *server, struct pnfs_device *pdev,
ff_layout_alloc_deviceid_node(struct nfs_server *server,
ff_layout_set_layoutdriver(struct nfs_server *server,
nfs4_ff_alloc_deviceid_node(struct nfs_server *server, struct pnfs_device *pdev,
struct nfs_server *s = NFS_SERVER(ino);
nfs4_ff_alloc_deviceid_node(struct nfs_server *server, struct pnfs_device *pdev,
kfree(ctx->nfs_server.hostname);
ctx->nfs_server.hostname = kmemdup_nul(dev_name, len, GFP_KERNEL);
if (!ctx->nfs_server.hostname)
ctx->nfs_server.export_path = kmemdup_nul(end, len, GFP_KERNEL);
if (!ctx->nfs_server.export_path)
trace_nfs_mount_path(ctx->nfs_server.export_path);
struct sockaddr_storage *sap = &ctx->nfs_server._address;
ctx->nfs_server.addrlen = sizeof(data->addr);
ctx->nfs_server.port = ntohs(data->addr.sin_port);
ctx->nfs_server.protocol = XPRT_TRANSPORT_UDP;
ctx->nfs_server.hostname = kstrdup(data->hostname, GFP_KERNEL);
if (!ctx->nfs_server.hostname)
struct sockaddr_storage *sap = &ctx->nfs_server._address;
if (data->host_addrlen > sizeof(ctx->nfs_server.address))
ctx->nfs_server.addrlen = data->host_addrlen;
ctx->nfs_server.port = ntohs(((struct sockaddr_in *)sap)->sin_port);
ctx->nfs_server.hostname = c;
ctx->nfs_server.export_path = c;
ctx->nfs_server.protocol = data->proto;
struct sockaddr_storage *sap = &ctx->nfs_server._address;
ctx->protofamily != ctx->nfs_server.address.sa_family)
if (ctx->mountfamily != ctx->nfs_server.address.sa_family)
if (ctx->nfs_server.protocol == XPRT_TRANSPORT_RDMA)
if (ctx->nfs_server.protocol == XPRT_TRANSPORT_RDMA)
nfs_set_port(sap, &ctx->nfs_server.port, port);
ctx->nfs_server.export_path = NULL;
ctx->nfs_server.hostname = NULL;
kfree(ctx->nfs_server.export_path);
kfree(ctx->nfs_server.hostname);
struct nfs_server *nfss = fc->root->d_sb->s_fs_info;
ctx->nfs_server.port = nfss->port;
ctx->nfs_server.addrlen = nfss->nfs_client->cl_addrlen;
memcpy(&ctx->nfs_server._address, &nfss->nfs_client->cl_addr,
ctx->nfs_server.addrlen);
ctx->nfs_server.port = NFS_UNSPEC_PORT;
ctx->nfs_server.protocol = XPRT_TRANSPORT_TCP;
switch (ctx->nfs_server.protocol) {
ctx->nfs_server.protocol = XPRT_TRANSPORT_TCP;
switch (ctx->nfs_server.protocol) {
ctx->nfs_server.protocol = XPRT_TRANSPORT_TCP_TLS;
switch (ctx->nfs_server.protocol) {
ctx->nfs_server.protocol = XPRT_TRANSPORT_UDP;
ctx->nfs_server.protocol = ret;
ctx->nfs_server.port = result.uint_32;
ctx->nfs_server.protocol = XPRT_TRANSPORT_UDP;
ctx->nfs_server.protocol = XPRT_TRANSPORT_TCP;
ctx->nfs_server.protocol = ret;
&ctx->nfs_server.address,
sizeof(ctx->nfs_server._address));
ctx->nfs_server.addrlen = len;
ctx->nfs_server.nconnect = result.uint_32;
ctx->nfs_server.max_connect = result.uint_32;
struct nfs_server *nfss = NFS_SB(sb);
struct nfs_server *nfss = NFS_SERVER(inode);
struct nfs_server *nfss = NFS_SB(sb);
static inline const char *nfs_server_fscache_state(struct nfs_server *server)
static inline const char *nfs_server_fscache_state(struct nfs_server *server)
struct nfs_server *server = NFS_SB(s), *clone_server;
__nfs_revalidate_inode(struct nfs_server *server, struct inode *inode)
struct nfs_fattr *nfs_alloc_fattr_with_label(struct nfs_server *server)
struct nfs_server *server = NFS_SERVER(inode);
struct nfs4_label *nfs4_label_alloc(struct nfs_server *server, gfp_t flags)
struct nfs_server *server = NFS_SERVER(inode);
} nfs_server;
struct nfs_server *server;
int nfs_probe_server(struct nfs_server *, struct nfs_fh *);
void nfs_server_insert_lists(struct nfs_server *);
void nfs_server_remove_lists(struct nfs_server *);
int nfs_init_server_rpcclient(struct nfs_server *, const struct rpc_timeout *t,
struct nfs_server *nfs_alloc_server(void);
void nfs_server_copy_userdata(struct nfs_server *, struct nfs_server *);
extern struct nfs_server *nfs_create_server(struct fs_context *);
extern void nfs_server_set_init_caps(struct nfs_server *);
extern struct nfs_server *nfs4_create_server(struct fs_context *);
extern struct nfs_server *nfs4_create_referral_server(struct fs_context *);
extern int nfs4_update_server(struct nfs_server *server, const char *hostname,
extern void nfs_free_server(struct nfs_server *server);
extern struct nfs_server *nfs_clone_server(struct nfs_server *,
extern struct nfs_client *nfs4_set_ds_client(struct nfs_server *mds_srv,
extern struct nfs_client *nfs3_set_ds_client(struct nfs_server *mds_srv,
extern struct nfs4_label *nfs4_label_alloc(struct nfs_server *server, gfp_t flags);
static inline struct nfs4_label *nfs4_label_alloc(struct nfs_server *server, gfp_t flags) { return NULL; }
static inline __u32 nfs_access_xattr_mask(const struct nfs_server *server)
static inline __u32 nfs_access_xattr_mask(const struct nfs_server *server)
int (*fn)(struct nfs_server *, void *),
int nfs_submount(struct fs_context *, struct nfs_server *);
extern int nfs4_get_rootfh(struct nfs_server *server, struct nfs_fh *mntfh, bool);
static inline void nfs_inc_server_stats(const struct nfs_server *server,
static inline void nfs_add_server_stats(const struct nfs_server *server,
struct nfs_server *server = NFS_SB(path->dentry->d_sb);
memcpy(&ctx->nfs_server._address, &client->cl_addr, client->cl_addrlen);
ctx->nfs_server.addrlen = client->cl_addrlen;
ctx->nfs_server.port = server->port;
struct nfs_server *server;
int nfs_submount(struct fs_context *fc, struct nfs_server *server)
struct nfs_server *nfs3_create_server(struct fs_context *);
struct nfs_server *nfs3_clone_server(struct nfs_server *, struct nfs_fh *,
struct nfs_server *server = NFS_SERVER(inode);
struct nfs_server *server = NFS_SERVER(inode);
static void nfs_init_server_aclclient(struct nfs_server *server)
static inline void nfs_init_server_aclclient(struct nfs_server *server)
struct nfs_server *nfs3_create_server(struct fs_context *fc)
struct nfs_server *server = nfs_create_server(fc);
struct nfs_server *nfs3_clone_server(struct nfs_server *source,
struct nfs_server *server = nfs_clone_server(source, fh, fattr, flavor);
struct nfs_client *nfs3_set_ds_client(struct nfs_server *mds_srv,
nfs3_proc_getattr(struct nfs_server *server, struct nfs_fh *fhandle,
nfs3_proc_statfs(struct nfs_server *server, struct nfs_fh *fhandle,
nfs3_proc_fsinfo(struct nfs_server *server, struct nfs_fh *fhandle,
nfs3_proc_pathconf(struct nfs_server *server, struct nfs_fh *fhandle,
static void nfs3_localio_probe(struct nfs_server *server)
nfs3_proc_get_root(struct nfs_server *server, struct nfs_fh *fhandle,
static void nfs3_localio_probe(struct nfs_server *server) {}
struct nfs_server *server = NFS_SERVER(inode);
static int nfs40_test_and_free_expired_stateid(struct nfs_server *server,
static int _nfs40_proc_get_locations(struct nfs_server *server,
struct nfs_server *server = NFS_SERVER(inode);
struct nfs_server *server;
struct nfs_server *server = data->server;
struct nfs_server *server = data->server;
nfs4_release_lockowner(struct nfs_server *server, struct nfs4_lock_state *lsp)
int nfs42_proc_layoutstats_generic(struct nfs_server *,
struct nfs_server *server = NFS_SERVER(inode);
int nfs42_proc_layoutstats_generic(struct nfs_server *server,
struct nfs_server *server = NFS_SERVER(inode);
struct nfs_server *server = NFS_SERVER(inode);
struct nfs_server *server = NFS_SERVER(dst_inode);
struct nfs_server *server = NFS_SERVER(file_inode(src_f));
struct nfs_server *server = NFS_SERVER(inode);
struct nfs_server *server = NFS_SERVER(inode);
struct nfs_server *server = NFS_SERVER(inode);
struct nfs_server *server = NFS_SERVER(inode);
static void nfs4_copy_dequeue_callback(struct nfs_server *dst_server,
struct nfs_server *src_server,
struct nfs_server *dst_server,
struct nfs_server *src_server,
struct nfs_server *dst_server = NFS_SERVER(dst_inode);
struct nfs_server *src_server = NFS_SERVER(src_inode);
struct nfs_server *server = NFS_SERVER(inode);
struct nfs_server *server = NFS_SERVER(file_inode(dst));
struct nfs_server *seq_server;
struct nfs_server *dst_server = NFS_SERVER(file_inode(dst));
_nfs42_proc_offload_status(struct nfs_server *server, struct file *file,
struct nfs_server *server = NFS_SERVER(inode);
struct nfs_server *src_server = NFS_SERVER(file_inode(src));
struct nfs_server *src_server = NFS_SERVER(file_inode(src));
struct nfs_server *server = NFS_SERVER(inode);
struct nfs_server *server = NFS_SERVER(file_inode(filep));
struct nfs_server *server = NFS_SERVER(inode);
struct nfs_server *so_server;
int (*get_locations)(struct nfs_server *, struct nfs_fh *,
int nfs4_submount(struct fs_context *, struct nfs_server *);
int nfs4_replace_transport(struct nfs_server *server,
const struct nfs_server *seq_server;
extern int nfs4_handle_exception(struct nfs_server *, int, struct nfs4_exception *);
struct nfs_server *server,
extern int nfs4_call_sync(struct rpc_clnt *, struct nfs_server *,
struct nfs_server *server,
extern void renew_lease(const struct nfs_server *server, unsigned long timestamp);
extern int nfs4_proc_get_rootfh(struct nfs_server *, struct nfs_fh *,
extern int nfs4_server_capabilities(struct nfs_server *server, struct nfs_fh *fhandle);
extern int nfs4_proc_get_locations(struct nfs_server *, struct nfs_fh *,
extern int nfs4_proc_getattr(struct nfs_server *server, struct nfs_fh *fhandle,
extern int nfs4_find_root_sec(struct nfs_server *server, struct nfs_fh *fhandle,
extern struct nfs4_state_owner *nfs4_get_state_owner(struct nfs_server *, const struct cred *, gfp_t);
extern void nfs4_purge_state_owners(struct nfs_server *, struct list_head *);
extern int nfs4_schedule_stateid_recovery(const struct nfs_server *, struct nfs4_state *);
extern int nfs4_schedule_migration_recovery(const struct nfs_server *);
extern void nfs4_free_lock_state(struct nfs_server *server, struct nfs4_lock_state *lsp);
int (*find_root_sec)(struct nfs_server *, struct nfs_fh *,
void (*free_lock_state)(struct nfs_server *,
int (*test_and_free_expired)(struct nfs_server *,
server->port = ctx->nfs_server.port;
struct nfs_server *nfs4_create_server(struct fs_context *fc)
struct nfs_server *server;
struct nfs_server *nfs4_create_referral_server(struct fs_context *fc)
struct nfs_server *parent_server = NFS_SB(ctx->clone_data.sb);
.hostname = ctx->nfs_server.hostname,
.addr = &ctx->nfs_server._address,
.addrlen = ctx->nfs_server.addrlen,
struct nfs_server *server;
rpc_set_port(&ctx->nfs_server.address, NFS_RDMA_PORT);
rpc_set_port(&ctx->nfs_server.address, NFS_PORT);
int nfs4_update_server(struct nfs_server *server, const char *hostname,
static void nfs4_destroy_server(struct nfs_server *server)
static int nfs4_set_client(struct nfs_server *server,
struct nfs_client *nfs4_set_ds_client(struct nfs_server *mds_srv,
static void nfs4_session_limit_rwsize(struct nfs_server *server)
static void nfs4_session_limit_xasize(struct nfs_server *server)
static int nfs4_server_common_setup(struct nfs_server *server,
static int nfs4_init_server(struct nfs_server *server, struct fs_context *fc)
.hostname = ctx->nfs_server.hostname,
.addr = &ctx->nfs_server._address,
.addrlen = ctx->nfs_server.addrlen,
.proto = ctx->nfs_server.protocol,
.nconnect = ctx->nfs_server.nconnect,
.max_connect = ctx->nfs_server.max_connect,
nfs_init_timeout_values(&timeparms, ctx->nfs_server.protocol,
struct nfs_server *server = NFS_SERVER(dst_inode);
struct nfs_server *server;
int nfs4_get_rootfh(struct nfs_server *server, struct nfs_fh *mntfh, bool auth_probe)
static bool nfs_fattr_map_owner_name(struct nfs_server *server, struct nfs_fattr *fattr)
static bool nfs_fattr_map_group_name(struct nfs_server *server, struct nfs_fattr *fattr)
void nfs_fattr_map_and_free_names(struct nfs_server *server, struct nfs_fattr *fattr)
int nfs_map_name_to_uid(const struct nfs_server *server, const char *name, size_t namelen, kuid_t *uid)
int nfs_map_group_to_gid(const struct nfs_server *server, const char *name, size_t namelen, kgid_t *gid)
int nfs_map_uid_to_name(const struct nfs_server *server, kuid_t uid, char *buf, size_t buflen)
int nfs_map_gid_to_group(const struct nfs_server *server, kgid_t gid, char *buf, size_t buflen)
struct nfs_server;
void nfs_fattr_map_and_free_names(struct nfs_server *, struct nfs_fattr *);
int nfs_map_name_to_uid(const struct nfs_server *, const char *, size_t, kuid_t *);
int nfs_map_group_to_gid(const struct nfs_server *, const char *, size_t, kgid_t *);
int nfs_map_uid_to_name(const struct nfs_server *, kuid_t, char *, size_t);
int nfs_map_gid_to_group(const struct nfs_server *, kgid_t, char *, size_t);
__func__, path, ctx->nfs_server.export_path);
struct nfs_server *server,
kfree(ctx->nfs_server.hostname);
ctx->nfs_server.hostname = kmalloc(len + 1, GFP_KERNEL);
if (!ctx->nfs_server.hostname)
&ctx->nfs_server.export_path_len);
kfree(ctx->nfs_server.export_path);
ctx->nfs_server.export_path = export_path;
source = kmalloc(len + 1 + ctx->nfs_server.export_path_len + 1,
ctx->nfs_server.addrlen =
&ctx->nfs_server._address,
sizeof(ctx->nfs_server._address),
if (ctx->nfs_server.addrlen == 0)
rpc_set_port(&ctx->nfs_server.address, NFS_PORT);
memcpy(ctx->nfs_server.hostname, buf->data, buf->len);
ctx->nfs_server.hostname[buf->len] = '\0';
memcpy(p, ctx->nfs_server.export_path, ctx->nfs_server.export_path_len);
p += ctx->nfs_server.export_path_len;
int nfs4_submount(struct fs_context *fc, struct nfs_server *server)
static int nfs4_try_replacing_one_location(struct nfs_server *server,
int nfs4_replace_transport(struct nfs_server *server,
static int _nfs41_proc_secinfo_no_name(struct nfs_server *server,
static int nfs41_proc_secinfo_no_name(struct nfs_server *server,
static int nfs41_find_root_sec(struct nfs_server *server,
static int _nfs41_test_stateid(struct nfs_server *server,
static void nfs4_handle_delay_or_session_error(struct nfs_server *server,
static int nfs41_test_stateid(struct nfs_server *server,
struct nfs_server *server;
static int nfs41_free_stateid(struct nfs_server *server,
nfs41_free_lock_state(struct nfs_server *server, struct nfs4_lock_state *lsp)
static int nfs41_test_stateid(struct nfs_server *, const nfs4_stateid *,
static struct nfs_server *nfs4_clone_server(struct nfs_server *source,
struct nfs_server *server;
static int nfs41_free_stateid(struct nfs_server *, nfs4_stateid *,
struct nfs_server *server,
struct nfs_server *server,
struct nfs_server *server,
static bool nfs4_clear_cap_atomic_open_v1(struct nfs_server *server,
nfs4_map_atomic_open_share(struct nfs_server *server,
nfs4_map_atomic_open_claim(struct nfs_server *server,
struct nfs_server *server = NFS_SERVER(dir);
static inline u32 *nfs4_bitmask(struct nfs_server *server, struct nfs4_label *label)
nfs4_bitmask(struct nfs_server *server, struct nfs4_label *label)
struct nfs_server *server = NFS_SERVER(state->inode);
struct nfs_server *server = NFS_SB(opendata->dentry->d_sb);
struct nfs_server *server = NFS_SERVER(state->inode);
static int nfs4_handle_delegation_recall_error(struct nfs_server *server, struct nfs4_state *state, const nfs4_stateid *stateid, struct file_lock *fl, int err)
struct nfs_server *server = NFS_SERVER(state->inode);
struct nfs_server *server = NFS_SERVER(d_inode(data->dir));
struct nfs_server *server = NFS_SERVER(dir);
struct nfs_server *server = NFS_SERVER(dir);
struct nfs_server *server = NFS_SERVER(state->inode);
static int nfs41_test_and_free_expired_stateid(struct nfs_server *server,
struct nfs_server *server = NFS_SERVER(state->inode);
struct nfs_server *server = NFS_SERVER(state->inode);
struct nfs_server *server = NFS_SERVER(state->inode);
struct nfs_server *server = sp->so_server;
struct nfs_server *server = NFS_SERVER(dir);
struct nfs_server *server = NFS_SERVER(dir);
struct nfs_server *server = NFS_SERVER(inode);
struct nfs_server *server = NFS_SERVER(inode);
struct nfs_server *server = NFS_SERVER(calldata->inode);
struct nfs_server *server = NFS_SERVER(inode);
struct nfs_server *server = NFS_SERVER(state->inode);
static int _nfs4_server_capabilities(struct nfs_server *server, struct nfs_fh *fhandle)
int nfs4_server_capabilities(struct nfs_server *server, struct nfs_fh *fhandle)
struct nfs_server *server)
static int _nfs4_discover_trunking(struct nfs_server *server,
static void nfs4_test_and_free_stateid(struct nfs_server *server,
static int nfs4_discover_trunking(struct nfs_server *server,
static int _nfs4_lookup_root(struct nfs_server *server, struct nfs_fh *fhandle,
static int nfs4_lookup_root(struct nfs_server *server, struct nfs_fh *fhandle,
static void __nfs4_free_revoked_stateid(struct nfs_server *server,
static int nfs4_lookup_root_sec(struct nfs_server *server,
int nfs4_find_root_sec(struct nfs_server *server, struct nfs_fh *fhandle,
static void nfs4_free_revoked_stateid(struct nfs_server *server,
int nfs4_proc_get_rootfh(struct nfs_server *server, struct nfs_fh *fhandle,
static int nfs4_proc_get_root(struct nfs_server *server, struct nfs_fh *mntfh,
static int _nfs4_proc_getattr(struct nfs_server *server, struct nfs_fh *fhandle,
int nfs4_proc_getattr(struct nfs_server *server, struct nfs_fh *fhandle,
struct nfs_server *server = NFS_SERVER(dir);
struct nfs_server *server = NFS_SERVER(inode);
struct nfs_server *server = NFS_SERVER(inode);
struct nfs_server *server = NFS_SERVER(dir);
struct nfs_server *server = NFS_SERVER(dir);
struct nfs_server *server = NFS_SB(dentry->d_sb);
struct nfs_server *server = NFS_SB(old_dentry->d_sb);
static int nfs4_do_handle_exception(struct nfs_server *server,
struct nfs_server *server = NFS_SERVER(inode);
struct nfs_server *server = NFS_SERVER(dir);
struct nfs_server *server = NFS_SERVER(dir);
struct nfs_server *server = NFS_SERVER(dir);
struct nfs_server *server = NFS_SERVER(dir);
static int _nfs4_proc_statfs(struct nfs_server *server, struct nfs_fh *fhandle,
static int nfs4_proc_statfs(struct nfs_server *server, struct nfs_fh *fhandle, struct nfs_fsstat *fsstat)
static int _nfs4_do_fsinfo(struct nfs_server *server, struct nfs_fh *fhandle,
static int nfs4_do_fsinfo(struct nfs_server *server, struct nfs_fh *fhandle, struct nfs_fsinfo *fsinfo)
static int nfs4_proc_fsinfo(struct nfs_server *server, struct nfs_fh *fhandle, struct nfs_fsinfo *fsinfo)
static int _nfs4_proc_pathconf(struct nfs_server *server, struct nfs_fh *fhandle,
static int nfs4_proc_pathconf(struct nfs_server *server, struct nfs_fh *fhandle,
struct nfs_server *server = NFS_SERVER(hdr->inode);
struct nfs_server *server = NFS_SERVER(hdr->inode);
struct nfs_server *server = NFS_SERVER(inode);
struct nfs_server *server = NFS_SERVER(hdr->inode);
struct nfs_server *server = NFS_SERVER(data->inode);
struct nfs_server *server = NFS_SERVER(dst_inode);
struct nfs_server *dst_server = NFS_SERVER(file_inode(dst));
static bool nfs4_server_supports_acls(const struct nfs_server *server,
struct nfs_server *server = NFS_SERVER(inode);
struct nfs_server *server = NFS_SERVER(inode);
struct nfs_server *server = NFS_SERVER(inode);
struct nfs_server *server = NFS_SERVER(inode);
static int nfs4_exception_should_retrans(const struct nfs_server *server,
struct nfs_server *server = NFS_SERVER(inode);
int nfs4_handle_exception(struct nfs_server *server, int errorcode, struct nfs4_exception *exception)
nfs4_async_handle_exception(struct rpc_task *task, struct nfs_server *server,
struct nfs_server *server = NFS_SERVER(inode);
struct nfs_server *server = NFS_SERVER(inode);
struct nfs_server *server = NFS_SERVER(inode);
struct nfs_server *server;
nfs4_async_handle_error(struct rpc_task *task, struct nfs_server *server,
struct nfs_server *server;
struct nfs_server *server = NFS_SERVER(inode);
static void nfs4_handle_setlk_error(struct nfs_server *server, struct nfs4_lock_state *lsp, int new_lock_owner, int error)
struct nfs_server *server = NFS_SERVER(state->inode);
struct nfs_server *server = NFS_SERVER(state->inode);
void renew_lease(const struct nfs_server *server, unsigned long timestamp)
struct nfs_server *server = NFS_SERVER(state->inode);
struct nfs_server *server = NFS_SERVER(state->inode);
struct nfs_server *server = NFS_SERVER(dir);
static int _nfs41_proc_get_locations(struct nfs_server *server,
int nfs4_proc_get_locations(struct nfs_server *server,
struct nfs_server *server = NFS_SERVER(inode);
struct nfs_server *server = NFS_SERVER(inode);
static int nfs4_do_fsinfo(struct nfs_server *, struct nfs_fh *, struct nfs_fsinfo *);
struct nfs_server *server = NFS_SERVER(lgp->args.inode);
struct nfs_server *server = NFS_SERVER(inode);
size_t max_response_pages(struct nfs_server *server)
struct nfs_server *server = NFS_SERVER(inode);
static int _nfs4_proc_getattr(struct nfs_server *server, struct nfs_fh *fhandle,
struct nfs_server *server;
_nfs4_proc_getdeviceinfo(struct nfs_server *server,
int nfs4_proc_getdeviceinfo(struct nfs_server *server,
struct nfs_server *server = NFS_SERVER(data->args.inode);
struct nfs_server *server = NFS_SERVER(data->args.inode);
int nfs4_schedule_migration_recovery(const struct nfs_server *server)
&((struct nfs_server *)server)->mig_status);
int nfs4_schedule_stateid_recovery(const struct nfs_server *server, struct nfs4_state *state)
nfs4_get_renew_cred_server_locked(struct nfs_server *server)
static void nfs4_reset_seqids(struct nfs_server *server,
struct nfs_server *server;
static void nfs4_clear_reclaim_server(struct nfs_server *server)
struct nfs_server *server;
struct nfs_server *server;
struct nfs_server *server;
static int nfs4_try_migration(struct nfs_server *server, const struct cred *cred)
struct nfs_server *server;
struct nfs_server *server;
nfs4_find_state_owner_locked(struct nfs_server *server, const struct cred *cred)
struct nfs_server *server = new->so_server;
struct nfs_server *server = sp->so_server;
nfs4_alloc_state_owner(struct nfs_server *server,
static void nfs4_gc_state_owners(struct nfs_server *server)
struct nfs4_state_owner *nfs4_get_state_owner(struct nfs_server *server,
struct nfs_server *server = sp->so_server;
void nfs4_purge_state_owners(struct nfs_server *server, struct list_head *head)
struct nfs_server *server = state->owner->so_server;
void nfs4_free_lock_state(struct nfs_server *server, struct nfs4_lock_state *lsp)
struct nfs_server *server;
static int do_nfs4_mount(struct nfs_server *server,
fc, ctx->nfs_server.hostname,
ctx->nfs_server.export_path);
fc, ctx->nfs_server.hostname,
ctx->nfs_server.export_path);
const struct nfs_server *server,
const struct nfs_server *server, \
const struct nfs_server *server,
TP_PROTO(const struct nfs_server *server, \
const struct nfs_server *server,
const struct nfs_server *server,
static void encode_setattr(struct xdr_stream *xdr, const struct nfs_setattrargs *arg, const struct nfs_server *server, struct compound_hdr *hdr)
const struct nfs_server *server, kuid_t *uid,
const struct nfs_server *server, kgid_t *gid,
struct nfs4_fs_locations *fs_loc, const struct nfs_server *server)
const struct nfs_server *server)
const struct nfs_server *server)
struct nfs_server *server;
unset_pnfs_layoutdriver(struct nfs_server *nfss)
static struct nfs_server *
struct nfs_server *server;
struct nfs_server *server = pnfs_find_server(ino, ctx);
set_pnfs_layoutdriver(struct nfs_server *server, const struct nfs_fh *mntfh,
struct nfs_server *server)
struct nfs_server *server = NFS_SERVER(ino);
struct nfs_server *server = NFS_SERVER(data->dir->d_inode);
struct nfs_server *srv = NFS_SERVER(ino);
struct nfs_server *server = NFS_SERVER(lo->plh_inode);
struct nfs_server *server = NFS_SERVER(lo->plh_inode);
static int pnfs_layout_return_unused_byserver(struct nfs_server *server,
struct nfs_server *nfss = NFS_SERVER(inode);
struct nfs_server *nfss = NFS_SERVER(inode);
struct nfs_server *nfss = NFS_SERVER(data->args.inode);
struct nfs_server *server = NFS_SERVER(inode);
struct nfs_server *server = NFS_SERVER(lo->plh_inode);
struct nfs_server *server,
struct nfs_server *server;
struct nfs_server *server;
struct nfs_server *server;
int (*set_layoutdriver) (struct nfs_server *, const struct nfs_fh *);
int (*clear_layoutdriver) (struct nfs_server *);
(struct nfs_server *server, struct pnfs_device *pdev,
extern size_t max_response_pages(struct nfs_server *server);
extern int nfs4_proc_getdeviceinfo(struct nfs_server *server,
void set_pnfs_layoutdriver(struct nfs_server *, const struct nfs_fh *, struct nfs_fsinfo *);
void unset_pnfs_layoutdriver(struct nfs_server *);
nfs4_find_get_deviceid(struct nfs_server *server,
void nfs4_init_deviceid_node(struct nfs4_deviceid_node *, struct nfs_server *,
int nfs4_pnfs_ds_connect(struct nfs_server *mds_srv, struct nfs4_pnfs_ds *ds,
static inline int pnfs_enabled_sb(struct nfs_server *nfss)
struct nfs_server *nfss = NFS_SERVER(ino);
struct nfs_server *nfss)
static inline void pnfs_lseg_cancel_io(struct nfs_server *server,
static inline void set_pnfs_layoutdriver(struct nfs_server *s,
static inline void unset_pnfs_layoutdriver(struct nfs_server *s)
struct nfs_server *nfss)
__nfs4_find_get_deviceid(struct nfs_server *server,
nfs4_find_get_deviceid(struct nfs_server *server,
nfs4_init_deviceid_node(struct nfs4_deviceid_node *d, struct nfs_server *server,
nfs4_get_device_info(struct nfs_server *server,
int nfs4_pnfs_ds_connect(struct nfs_server *mds_srv, struct nfs4_pnfs_ds *ds,
struct nfs_server *mds_srv,
static int _nfs4_pnfs_v3_ds_connect(struct nfs_server *mds_srv,
static int _nfs4_pnfs_v4_ds_connect(struct nfs_server *mds_srv,
nfs_proc_getattr(struct nfs_server *server, struct nfs_fh *fhandle,
nfs_proc_statfs(struct nfs_server *server, struct nfs_fh *fhandle,
nfs_proc_get_root(struct nfs_server *server, struct nfs_fh *fhandle,
nfs_proc_fsinfo(struct nfs_server *server, struct nfs_fh *fhandle,
nfs_proc_pathconf(struct nfs_server *server, struct nfs_fh *fhandle,
struct nfs_server *server = NFS_SERVER(inode);
struct nfs_server *server = NFS_SERVER(inode);
nfs_compare_remount_data(struct nfs_server *nfss,
ctx->nfs_server.port != nfss->port ||
ctx->nfs_server.addrlen != nfss->nfs_client->cl_addrlen ||
!rpc_cmp_addr((struct sockaddr *)&ctx->nfs_server.address,
struct nfs_server *nfss = sb->s_fs_info;
struct nfs_server *server = NFS_SB(sb);
static int nfs_compare_mount_options(const struct super_block *s, const struct nfs_server *b,
const struct nfs_server *a = s->s_fs_info;
struct nfs_server *server = fc->s_fs_info;
static int nfs_compare_super_address(struct nfs_server *server1,
struct nfs_server *server2)
static int nfs_compare_userns(const struct nfs_server *old,
const struct nfs_server *new)
struct nfs_server *server = fc->s_fs_info, *old = NFS_SB(sb);
struct nfs_server *nfss = NFS_SB(sb);
struct nfs_server *mnt_s = NFS_SB(ctx->clone_data.sb);
struct nfs_server *server = ctx->server;
struct nfs_server *server = NFS_SB(s);
struct nfs_server *server = NFS_SB(sb);
struct nfs_server *server = NFS_SB(sb);
int (*fn)(struct nfs_server *server, void *data), void *data)
struct nfs_server *server, *last = NULL;
struct nfs_server *server = NFS_SB(dentry->d_sb);
static void nfs_show_mountd_netid(struct seq_file *m, struct nfs_server *nfss,
static void nfs_show_mountd_options(struct seq_file *m, struct nfs_server *nfss,
static void nfs_show_nfsv4_options(struct seq_file *m, struct nfs_server *nfss,
static void nfs_show_nfsv4_options(struct seq_file *m, struct nfs_server *nfss,
static void nfs_show_mount_options(struct seq_file *m, struct nfs_server *nfss,
struct nfs_server *nfss = NFS_SB(root->d_sb);
static void show_lease(struct seq_file *m, struct nfs_server *server)
static void show_sessions(struct seq_file *m, struct nfs_server *server)
static void show_pnfs(struct seq_file *m, struct nfs_server *server)
static void show_implementation_id(struct seq_file *m, struct nfs_server *nfss)
static void show_implementation_id(struct seq_file *m, struct nfs_server *nfss)
struct nfs_server *nfss = NFS_SB(root->d_sb);
struct nfs_server *server;
.dirpath = ctx->nfs_server.export_path,
request.hostname = ctx->nfs_server.hostname;
memcpy(request.sap, &ctx->nfs_server._address,
ctx->nfs_server.addrlen);
ctx->mount_server.addrlen = ctx->nfs_server.addrlen;
static struct nfs_server *nfs_try_mount_request(struct fs_context *fc)
struct nfs_server *server = ERR_PTR(-EACCES);
struct nfs_server *server;
struct nfs_server *server = container_of(kobj, struct nfs_server, kobj);
struct nfs_server *server;
server = container_of(kobj, struct nfs_server, kobj);
struct nfs_server *server = container_of(kobj, struct nfs_server, kobj);
struct nfs_server *server = container_of(kobj, struct nfs_server, kobj);
void nfs_sysfs_link_rpc_client(struct nfs_server *server,
return to_ns_common(container_of(kobj, struct nfs_server,
static void nfs_sysfs_add_nfsv41_server(struct nfs_server *server)
static inline void nfs_sysfs_add_nfsv41_server(struct nfs_server *server)
struct nfs_server *server = container_of(kobj, struct nfs_server, kobj);
static void nfs_sysfs_add_nfs_localio_server(struct nfs_server *server)
static inline void nfs_sysfs_add_nfs_localio_server(struct nfs_server *server)
void nfs_sysfs_add_server(struct nfs_server *server)
struct nfs_server *server = s->s_fs_info;
void nfs_sysfs_move_sb_to_server(struct nfs_server *server)
void nfs_sysfs_remove_server(struct nfs_server *server)
void nfs_sysfs_link_rpc_client(struct nfs_server *server,
void nfs_sysfs_add_server(struct nfs_server *s);
void nfs_sysfs_move_sb_to_server(struct nfs_server *s);
void nfs_sysfs_remove_server(struct nfs_server *s);
struct nfs_server *server = NFS_SERVER(inode);
struct nfs_server *nfss = NFS_SERVER(folio->mapping->host);
struct nfs_server *nfss = NFS_SERVER(folio->mapping->host);
struct nfs_server *nfss = NFS_SERVER(inode);
static inline struct nfs_server *NFS_SB(const struct super_block *s)
return (struct nfs_server *)(s->s_fs_info);
static inline struct nfs_server *NFS_SERVER(const struct inode *inode)
struct nfs_server *nfss = NFS_SERVER(inode);
struct nfs_server *nfss = NFS_SERVER(inode);
extern int __nfs_revalidate_inode(struct nfs_server *, struct inode *);
extern struct nfs_fattr *nfs_alloc_fattr_with_label(struct nfs_server *server);
struct nfs_server;
void (*destroy)(struct nfs_server *);
const struct nfs_server * server;
const struct nfs_server * server;
const struct nfs_server * server;
const struct nfs_server * server;
const struct nfs_server * server;
const struct nfs_server * server;
const struct nfs_server *server;
const struct nfs_server *server;
const struct nfs_server *falloc_server;
const struct nfs_server *server;
int (*getroot) (struct nfs_server *, struct nfs_fh *,
int (*submount) (struct fs_context *, struct nfs_server *);
int (*getattr) (struct nfs_server *, struct nfs_fh *,
int (*statfs) (struct nfs_server *, struct nfs_fh *,
int (*fsinfo) (struct nfs_server *, struct nfs_fh *,
int (*pathconf) (struct nfs_server *, struct nfs_fh *,
int (*set_capabilities)(struct nfs_server *, struct nfs_fh *);
struct nfs_server *(*create_server)(struct fs_context *);
struct nfs_server *(*clone_server)(struct nfs_server *, struct nfs_fh *,
int (*discover_trunking)(struct nfs_server *, struct nfs_fh *);
const struct nfs_server *server;
const struct nfs_server *server;
const struct nfs_server *server; /* Needed for ID mapping */
const struct nfs_server *server;
const struct nfs_server *server;
struct nfs_server *server;
const struct nfs_server *server; /* used by write */
const struct nfs_server *server;
struct nfs_server *server;
struct nfs_server *server;
struct nfs_server * server;
const struct nfs_server * server; /* Needed for name mapping */
const struct nfs_server * server;