rpc_clnt
struct rpc_clnt *nlmclnt_rpc_clnt(struct nlm_host *host)
struct rpc_clnt *clnt;
struct rpc_clnt *clnt;
struct rpc_clnt *clnt;
struct rpc_clnt *
struct rpc_clnt *clnt;
static struct rpc_clnt *nsm_create(struct net *net, const char *nodename)
struct rpc_clnt *clnt;
struct rpc_clnt *clnt = NULL;
struct rpc_clnt *clnt = NFS_CLIENT(inode);
struct rpc_clnt *clnt = NFS_CLIENT(inode);
struct rpc_clnt *ds_clnt;
struct rpc_clnt *ds_clnt;
struct rpc_clnt *ds_clnt;
struct rpc_clnt *ds_clnt;
struct rpc_clnt *ds_clnt;
struct rpc_clnt *ds_clnt;
struct rpc_clnt *clnt;
struct rpc_clnt *
struct rpc_clnt *
extern struct rpc_clnt *nfs4_find_or_create_ds_client(struct nfs_client *,
int nfs_initiate_pgio(struct rpc_clnt *clnt, struct nfs_pgio_header *hdr,
extern int nfs_initiate_commit(struct rpc_clnt *clnt,
extern void nfs4_test_session_trunk(struct rpc_clnt *clnt,
static struct rpc_clnt *nfs_init_localioclient(struct nfs_client *clp)
struct rpc_clnt *rpcclient_localio;
struct rpc_clnt *rpcclient_localio;
struct rpc_clnt *mnt_clnt;
static struct user_namespace *rpc_userns(const struct rpc_clnt *clnt)
nfs3_rpc_wrapper(struct rpc_clnt *clnt, struct rpc_message *msg, int flags)
do_proc_get_root(struct rpc_clnt *client, struct nfs_fh *fhandle,
do_proc_fsinfo(struct rpc_clnt *client, struct nfs_fh *fhandle,
struct rpc_clnt **clnt)
struct rpc_clnt **clnt)
static struct user_namespace *rpc_userns(const struct rpc_clnt *clnt)
struct rpc_clnt *clnt = server->client;
struct rpc_clnt *clnt = server->client;
struct rpc_clnt *nfs4_negotiate_security(struct rpc_clnt *, struct inode *,
extern int nfs4_call_sync(struct rpc_clnt *, struct nfs_server *,
extern int nfs4_call_sync_sequence(struct rpc_clnt *clnt,
extern int nfs4_proc_fs_locations(struct rpc_clnt *, struct inode *, const struct qstr *,
extern struct rpc_clnt *nfs4_proc_lookup_mountpoint(struct inode *,
struct rpc_clnt **clntp, struct rpc_message *msg)
struct rpc_clnt **clntp, struct rpc_message *msg)
nfs4_state_protect_write(struct nfs_client *clp, struct rpc_clnt **clntp,
void (*session_trunk)(struct rpc_clnt *clnt,
dss->rpc_clnt = rpc_clone_client_set_auth(ds_clp->cl_rpcclient, flavor);
if (IS_ERR(dss->rpc_clnt)) {
int err = PTR_ERR(dss->rpc_clnt);
struct rpc_clnt *clnt = server->client;
rpc_release_client(dss->rpc_clnt);
struct rpc_clnt *
return dss->rpc_clnt;
rpc_shutdown_client(dss->rpc_clnt);
struct rpc_clnt *rpc_clnt;
if (dss->rpc_clnt->cl_auth->au_flavor != flavor)
if (dss->rpc_clnt->cl_auth->au_flavor != flavor)
static struct rpc_clnt *nfs_find_best_sec(struct rpc_clnt *clnt,
struct rpc_clnt *new;
struct rpc_clnt *
nfs4_negotiate_security(struct rpc_clnt *clnt, struct inode *inode,
struct rpc_clnt *new;
static int nfs_do_refmount(struct fs_context *fc, struct rpc_clnt *client)
struct rpc_clnt *client;
struct rpc_clnt *rpc_client = server->client;
static int nfs4_do_call_sync(struct rpc_clnt *clnt,
int nfs4_call_sync_sequence(struct rpc_clnt *clnt,
int nfs4_call_sync(struct rpc_clnt *clnt,
static int nfs4_get_referral(struct rpc_clnt *client, struct inode *dir,
static int _nfs4_proc_lookup(struct rpc_clnt *clnt, struct inode *dir,
static int nfs4_proc_lookup_common(struct rpc_clnt **clnt, struct inode *dir,
struct rpc_clnt *client = *clnt;
struct rpc_clnt *client = NFS_CLIENT(dir);
struct rpc_clnt *
struct rpc_clnt *client = NFS_CLIENT(dir);
struct rpc_clnt *clnt = NFS_CLIENT(inode);
struct rpc_clnt **clnt)
struct rpc_clnt **clnt)
static int _nfs4_proc_fs_locations(struct rpc_clnt *client, struct inode *dir,
int nfs4_proc_fs_locations(struct rpc_clnt *client, struct inode *dir,
struct rpc_clnt *clnt = server->client;
struct rpc_clnt *clnt = server->client;
struct rpc_clnt *clnt = NFS_SERVER(dir)->client;
int nfs4_proc_bind_one_conn_to_session(struct rpc_clnt *clnt,
nfs4_proc_bind_conn_to_session_callback(struct rpc_clnt *clnt,
void nfs4_test_session_trunk(struct rpc_clnt *clnt, struct rpc_xprt *xprt,
struct rpc_clnt *clnt)
struct rpc_clnt *clnt = clp->cl_rpcclient;
struct rpc_clnt *clnt;
struct rpc_clnt *cl = clp->cl_rpcclient;
struct rpc_clnt *clnt = clp->cl_rpcclient;
int nfs_initiate_pgio(struct rpc_clnt *clnt, struct nfs_pgio_header *hdr,
struct rpc_clnt **clnt)
struct rpc_clnt **clnt)
const struct rpc_clnt *clnt_a = a->client;
const struct rpc_clnt *clnt_b = b->client;
struct rpc_clnt *rpc;
static void shutdown_client(struct rpc_clnt *clnt)
struct rpc_clnt *clnt, const char *uniq)
struct rpc_clnt *clnt, const char *sysfs_prefix);
int nfs_initiate_commit(struct rpc_clnt *clnt, struct nfs_commit_data *data,
struct rpc_clnt *rpc_clnt, const struct cred *cred,
localio = nfs_to->nfsd_open_local_fh(net, uuid->dom, rpc_clnt, cred,
struct rpc_clnt *rpc_clnt, const struct cred *cred,
svcauth_map_clnt_to_svc_cred_local(rpc_clnt, cred, &rq_cred);
static const struct cred *get_backchannel_cred(struct nfs4_client *clp, struct rpc_clnt *client, struct nfsd4_session *ses)
struct rpc_clnt *client;
struct rpc_clnt *clnt;
struct rpc_clnt *cl_cb_client;
struct rpc_clnt;
extern struct rpc_clnt *nlmclnt_rpc_clnt(struct nlm_host *host);
struct rpc_clnt * nlm_bind_host(struct nlm_host *);
struct rpc_clnt *h_rpcclnt; /* RPC client to talk to peer */
static inline struct rpc_clnt *NFS_CLIENT(const struct inode *inode)
struct rpc_clnt * client; /* RPC client handle */
struct rpc_clnt * client_acl; /* ACL RPC client handle */
struct rpc_clnt * cl_rpcclient;
struct rpc_clnt **);
struct rpc_clnt **);
struct rpc_clnt *,
struct rpc_clnt *, const struct cred *,
struct rpc_clnt *);
int (*ping)(struct rpc_clnt *clnt);
struct rpc_clnt *);
void (*add_xprt_test)(struct rpc_clnt *clnt,
struct rpc_clnt *rpc_create(struct rpc_create_args *args);
struct rpc_clnt *rpc_bind_new_program(struct rpc_clnt *,
struct rpc_clnt *rpc_clone_client(struct rpc_clnt *);
struct rpc_clnt *rpc_clone_client_set_auth(struct rpc_clnt *,
int rpc_switch_client_transport(struct rpc_clnt *,
void rpc_shutdown_client(struct rpc_clnt *);
void rpc_release_client(struct rpc_clnt *);
struct rpc_xprt *rpc_task_get_xprt(struct rpc_clnt *clnt,
int rpc_call_async(struct rpc_clnt *clnt,
int rpc_call_sync(struct rpc_clnt *clnt,
struct rpc_task *rpc_call_null(struct rpc_clnt *clnt, struct rpc_cred *cred,
void rpc_setbufsize(struct rpc_clnt *, unsigned int, unsigned int);
struct net * rpc_net_ns(struct rpc_clnt *);
size_t rpc_max_payload(struct rpc_clnt *);
size_t rpc_max_bc_payload(struct rpc_clnt *);
unsigned int rpc_num_bc_slots(struct rpc_clnt *);
void rpc_force_rebind(struct rpc_clnt *);
size_t rpc_peeraddr(struct rpc_clnt *, struct sockaddr *, size_t);
const char *rpc_peeraddr2str(struct rpc_clnt *, enum rpc_display_format_t);
int rpc_localaddr(struct rpc_clnt *, struct sockaddr *, size_t);
int rpc_clnt_iterate_for_each_xprt(struct rpc_clnt *clnt,
int (*fn)(struct rpc_clnt *, struct rpc_xprt *, void *),
int rpc_clnt_test_and_add_xprt(struct rpc_clnt *clnt,
int rpc_clnt_add_xprt(struct rpc_clnt *, struct xprt_create *,
int (*setup)(struct rpc_clnt *,
void rpc_set_connect_timeout(struct rpc_clnt *clnt,
int rpc_clnt_setup_test_and_add_xprt(struct rpc_clnt *,
void rpc_clnt_manage_trunked_xprts(struct rpc_clnt *);
void rpc_clnt_probe_trunked_xprts(struct rpc_clnt *,
void rpc_clnt_xprt_switch_add_xprt(struct rpc_clnt *, struct rpc_xprt *);
void rpc_clnt_xprt_switch_remove_xprt(struct rpc_clnt *, struct rpc_xprt *);
bool rpc_clnt_xprt_switch_has_addr(struct rpc_clnt *clnt,
void rpc_clnt_xprt_set_online(struct rpc_clnt *clnt, struct rpc_xprt *xprt);
void rpc_clnt_disconnect(struct rpc_clnt *clnt);
struct rpc_clnt *clnt;
struct rpc_clnt * cl_parent; /* Points to parent of clones */
struct rpc_clnt;
void rpc_clnt_debugfs_register(struct rpc_clnt *);
void rpc_clnt_debugfs_unregister(struct rpc_clnt *);
rpc_clnt_debugfs_register(struct rpc_clnt *clnt)
rpc_clnt_debugfs_unregister(struct rpc_clnt *clnt)
static inline void rpc_clnt_show_stats(struct seq_file *seq, struct rpc_clnt *clnt) {}
struct rpc_clnt;
struct rpc_iostats * rpc_alloc_iostats(struct rpc_clnt *);
void rpc_clnt_show_stats(struct seq_file *, struct rpc_clnt *);
static inline struct rpc_iostats *rpc_alloc_iostats(struct rpc_clnt *clnt) { return NULL; }
struct rpc_clnt;
extern int rpc_create_client_dir(struct dentry *, const char *, struct rpc_clnt *);
extern int rpc_remove_client_dir(struct rpc_clnt *);
struct rpc_clnt *rpc_client;
void rpc_killall_tasks(struct rpc_clnt *);
unsigned long rpc_cancel_tasks(struct rpc_clnt *clnt, int error,
int rpc_clnt_swap_activate(struct rpc_clnt *clnt);
void rpc_clnt_swap_deactivate(struct rpc_clnt *clnt);
rpc_clnt_swap_activate(struct rpc_clnt *clnt)
rpc_clnt_swap_deactivate(struct rpc_clnt *clnt)
struct rpc_clnt * tk_client; /* RPC client */
extern void svcauth_map_clnt_to_svc_cred_local(struct rpc_clnt *clnt,
struct rpc_clnt *clnt;
const struct rpc_clnt *clnt
const struct rpc_clnt *clnt \
const struct rpc_clnt *clnt,
const struct rpc_clnt *clnt,
const struct rpc_clnt *clnt, \
const struct rpc_clnt *clnt,
const struct rpc_clnt *clnt,
rpcauth_create(const struct rpc_auth_create_args *args, struct rpc_clnt *clnt)
gss_create_new(const struct rpc_auth_create_args *args, struct rpc_clnt *clnt)
struct rpc_clnt *clnt,
struct rpc_clnt *clnt)
gss_create(const struct rpc_auth_create_args *args, struct rpc_clnt *clnt)
struct rpc_clnt *parent = clnt->cl_parent;
struct rpc_clnt *clnt;
static struct gss_pipe *gss_pipe_alloc(struct rpc_clnt *clnt,
struct rpc_clnt *client;
struct rpc_clnt *clnt;
static struct gss_pipe *gss_pipe_get(struct rpc_clnt *clnt,
struct rpc_clnt *clnt = p->clnt;
struct rpc_clnt *clnt;
struct rpc_clnt *clnt;
static struct rpc_clnt *get_gssp_clnt(struct sunrpc_net *sn)
struct rpc_clnt *clnt;
struct rpc_clnt *clnt;
static int gssp_rpc_create(struct net *net, struct rpc_clnt **_clnt)
nul_create(const struct rpc_auth_create_args *args, struct rpc_clnt *clnt)
static int tls_probe(struct rpc_clnt *clnt)
struct rpc_clnt *clnt)
struct rpc_clnt *clnt = task->tk_client;
unx_create(const struct rpc_auth_create_args *args, struct rpc_clnt *clnt)
static struct rpc_clnt *
rpc_free_auth(struct rpc_clnt *clnt)
static void rpc_clnt_remove_pipedir(struct rpc_clnt *clnt)
rpc_release_client(struct rpc_clnt *clnt)
struct rpc_clnt *rpc_bind_new_program(struct rpc_clnt *old,
struct rpc_clnt *clnt;
rpc_task_get_xprt(struct rpc_clnt *clnt, struct rpc_xprt *xprt)
rpc_task_release_xprt(struct rpc_clnt *clnt, struct rpc_xprt *xprt)
struct rpc_clnt *clnt = task->tk_client;
rpc_task_get_first_xprt(struct rpc_clnt *clnt)
rpc_task_get_next_xprt(struct rpc_clnt *clnt)
struct rpc_clnt *clnt)
void rpc_task_set_transport(struct rpc_task *task, struct rpc_clnt *clnt)
void rpc_task_set_client(struct rpc_task *task, struct rpc_clnt *clnt)
int rpc_call_sync(struct rpc_clnt *clnt, const struct rpc_message *msg, int flags)
rpc_call_async(struct rpc_clnt *clnt, const struct rpc_message *msg, int flags,
size_t rpc_peeraddr(struct rpc_clnt *clnt, struct sockaddr *buf, size_t bufsize)
const char *rpc_peeraddr2str(struct rpc_clnt *clnt,
rpc_setup_pipedir(struct super_block *pipefs_sb, struct rpc_clnt *clnt)
int rpc_localaddr(struct rpc_clnt *clnt, struct sockaddr *buf, size_t buflen)
rpc_setbufsize(struct rpc_clnt *clnt, unsigned int sndsize, unsigned int rcvsize)
static int rpc_clnt_skip_event(struct rpc_clnt *clnt, unsigned long event)
struct net *rpc_net_ns(struct rpc_clnt *clnt)
size_t rpc_max_payload(struct rpc_clnt *clnt)
size_t rpc_max_bc_payload(struct rpc_clnt *clnt)
unsigned int rpc_num_bc_slots(struct rpc_clnt *clnt)
void rpc_force_rebind(struct rpc_clnt *clnt)
struct rpc_clnt *clnt = task->tk_client;
static int __rpc_clnt_handle_event(struct rpc_clnt *clnt, unsigned long event,
static int __rpc_pipefs_event(struct rpc_clnt *clnt, unsigned long event,
static struct rpc_clnt *rpc_get_client_for_event(struct net *net, int event)
struct rpc_clnt *clnt;
struct rpc_clnt *clnt = task->tk_client;
struct rpc_clnt *clnt;
struct rpc_clnt *clnt = task->tk_client;
struct rpc_clnt *clnt = task->tk_client;
static struct rpc_xprt *rpc_clnt_set_transport(struct rpc_clnt *clnt,
struct rpc_clnt *clnt = task->tk_client;
struct rpc_clnt *clnt = task->tk_client;
struct rpc_clnt *clnt = task->tk_client;
static void rpc_clnt_set_nodename(struct rpc_clnt *clnt, const char *nodename)
static int rpc_client_register(struct rpc_clnt *clnt,
struct rpc_task *rpc_call_null_helper(struct rpc_clnt *clnt,
struct rpc_task *rpc_call_null(struct rpc_clnt *clnt, struct rpc_cred *cred, int flags)
static int rpc_ping(struct rpc_clnt *clnt)
static int rpc_ping_noreply(struct rpc_clnt *clnt)
int rpc_clnt_test_and_add_xprt(struct rpc_clnt *clnt,
static int rpc_clnt_add_xprt_helper(struct rpc_clnt *clnt,
int rpc_clnt_setup_test_and_add_xprt(struct rpc_clnt *clnt,
int rpc_clnt_add_xprt(struct rpc_clnt *clnt,
int (*setup)(struct rpc_clnt *,
static int rpc_xprt_probe_trunked(struct rpc_clnt *clnt,
void rpc_clnt_probe_trunked_xprts(struct rpc_clnt *clnt,
static int rpc_xprt_offline(struct rpc_clnt *clnt,
void rpc_clnt_manage_trunked_xprts(struct rpc_clnt *clnt)
rpc_xprt_set_connect_timeout(struct rpc_clnt *clnt,
rpc_set_connect_timeout(struct rpc_clnt *clnt,
void rpc_clnt_xprt_set_online(struct rpc_clnt *clnt, struct rpc_xprt *xprt)
void rpc_clnt_xprt_switch_add_xprt(struct rpc_clnt *clnt, struct rpc_xprt *xprt)
void rpc_clnt_xprt_switch_remove_xprt(struct rpc_clnt *clnt, struct rpc_xprt *xprt)
bool rpc_clnt_xprt_switch_has_addr(struct rpc_clnt *clnt,
static void rpc_show_header(struct rpc_clnt *clnt)
static void rpc_show_task(const struct rpc_clnt *clnt,
struct rpc_clnt *clnt;
static int rpc_alloc_clid(struct rpc_clnt *clnt)
rpc_clnt_swap_activate_callback(struct rpc_clnt *clnt,
rpc_clnt_swap_activate(struct rpc_clnt *clnt)
rpc_clnt_swap_deactivate_callback(struct rpc_clnt *clnt,
rpc_clnt_swap_deactivate(struct rpc_clnt *clnt)
static void rpc_free_clid(struct rpc_clnt *clnt)
static struct rpc_clnt * rpc_new_client(const struct rpc_create_args *args,
struct rpc_clnt *parent)
struct rpc_clnt *clnt = NULL;
static struct rpc_clnt *rpc_create_xprt(struct rpc_create_args *args,
struct rpc_clnt *clnt = NULL;
struct rpc_clnt *rpc_create(struct rpc_create_args *args)
struct rpc_clnt *clnt;
return (struct rpc_clnt *)xprt;
static struct rpc_clnt *__rpc_clone_client(struct rpc_create_args *args,
struct rpc_clnt *clnt)
struct rpc_clnt *new;
struct rpc_clnt *rpc_clone_client(struct rpc_clnt *clnt)
struct rpc_clnt *
rpc_clone_client_set_auth(struct rpc_clnt *clnt, rpc_authflavor_t flavor)
int rpc_switch_client_transport(struct rpc_clnt *clnt,
static int rpc_ping(struct rpc_clnt *clnt);
struct rpc_clnt *parent;
static int rpc_ping_noreply(struct rpc_clnt *clnt);
static void rpc_register_client(struct rpc_clnt *clnt)
static struct rpc_xprt_switch *rpc_clnt_xprt_switch_get(struct rpc_clnt *clnt)
int _rpc_clnt_xprt_iter_init(struct rpc_clnt *clnt, struct rpc_xprt_iter *xpi,
int rpc_clnt_xprt_iter_init(struct rpc_clnt *clnt, struct rpc_xprt_iter *xpi)
int rpc_clnt_xprt_iter_offline_init(struct rpc_clnt *clnt,
int rpc_clnt_iterate_for_each_xprt(struct rpc_clnt *clnt,
int (*fn)(struct rpc_clnt *, struct rpc_xprt *, void *),
static void rpc_unregister_client(struct rpc_clnt *clnt)
void rpc_killall_tasks(struct rpc_clnt *clnt)
unsigned long rpc_cancel_tasks(struct rpc_clnt *clnt, int error,
static int rpc_clnt_disconnect_xprt(struct rpc_clnt *clnt,
void rpc_clnt_disconnect(struct rpc_clnt *clnt)
void rpc_shutdown_client(struct rpc_clnt *clnt)
static void __rpc_clnt_remove_pipedir(struct rpc_clnt *clnt)
struct rpc_clnt *clnt = container_of(work, struct rpc_clnt, cl_work);
static struct rpc_clnt *
rpc_free_client(struct rpc_clnt *clnt)
struct rpc_clnt *parent = NULL;
struct rpc_clnt *clnt = seq->private;
static int do_xprt_debugfs(struct rpc_clnt *clnt, struct rpc_xprt *xprt, void *numv)
rpc_clnt_debugfs_register(struct rpc_clnt *clnt)
rpc_clnt_debugfs_unregister(struct rpc_clnt *clnt)
struct rpc_clnt *clnt = task->tk_client;
struct rpc_clnt *clnt = f->private;
struct rpc_clnt *clnt = f->private;
struct rpc_clnt *clnt = f->private;
struct rpc_clnt *clnt = seq->private = inode->i_private;
struct rpc_clnt *rpcb_local_clnt;
struct rpc_clnt *rpcb_local_clnt4;
struct rpc_clnt *gssp_clnt;
struct rpc_clnt *clnt = m->private;
struct rpc_clnt *clnt = NULL;
struct rpc_clnt *clnt = (struct rpc_clnt *)m->private;
struct rpc_clnt *rpc_client)
int rpc_remove_client_dir(struct rpc_clnt *rpc_client)
struct rpc_clnt *clnt = sn->rpcb_local_clnt;
struct rpc_clnt *clnt4 = sn->rpcb_local_clnt4;
static void rpcb_set_local(struct net *net, struct rpc_clnt *clnt,
struct rpc_clnt *clnt4,
struct rpc_clnt *clnt, *clnt4;
struct rpc_clnt *clnt, *clnt4;
static struct rpc_clnt *rpcb_create(struct net *net, const char *nodename,
static int rpcb_register_call(struct sunrpc_net *sn, struct rpc_clnt *clnt, struct rpc_message *msg, bool is_set)
static struct rpc_task *rpcb_call_async(struct rpc_clnt *rpcb_clnt,
static struct rpc_clnt *rpcb_find_transport_owner(struct rpc_clnt *clnt)
struct rpc_clnt *parent = clnt->cl_parent;
struct rpc_clnt *clnt;
struct rpc_clnt *rpcb_clnt;
struct rpc_clnt *clnt = task->tk_client;
struct rpc_iostats *rpc_alloc_iostats(struct rpc_clnt *clnt)
static int do_print_stats(struct rpc_clnt *clnt, struct rpc_xprt *xprt, void *seqv)
void rpc_clnt_show_stats(struct seq_file *seq, struct rpc_clnt *clnt)
struct rpc_clnt *next = clnt;
void svcauth_map_clnt_to_svc_cred_local(struct rpc_clnt *clnt,
struct rpc_clnt *clnt = rpc_sysfs_client_kobj_get_clnt(kobj);
struct rpc_clnt *clnt = rpc_sysfs_client_kobj_get_clnt(kobj);
struct rpc_clnt *clnt = rpc_sysfs_client_kobj_get_clnt(kobj);
static inline struct rpc_clnt *
struct rpc_clnt *ret = c->clnt;
void rpc_sysfs_client_setup(struct rpc_clnt *clnt,
void rpc_sysfs_client_destroy(struct rpc_clnt *clnt)
void rpc_sysfs_client_setup(struct rpc_clnt *clnt,
void rpc_sysfs_client_destroy(struct rpc_clnt *clnt);
struct rpc_clnt *clnt = task->tk_client;
struct rpc_clnt *upper_clnt = upper_transport->clnt;
struct rpc_clnt *lower_clnt;