nfs4_client
struct nfs4_client *clp,
static u64 nfsd4_scsi_pr_key(struct nfs4_client *clp)
struct nfs4_client *clp,
struct nfs4_client *clp,
struct nfs4_client *clp = ls->ls_stid.sc_client;
struct nfs4_client *clp, struct nfsd4_getdeviceinfo *gdp)
struct nfs4_client *clp = cb->cb_clp;
struct nfs4_client *clp = cb->cb_clp;
static void nfsd41_cb_inflight_begin(struct nfs4_client *clp)
static void nfsd41_cb_inflight_end(struct nfs4_client *clp)
static void nfsd41_cb_inflight_wait_complete(struct nfs4_client *clp)
static const struct cred *get_backchannel_cred(struct nfs4_client *clp, struct rpc_clnt *client, struct nfsd4_session *ses)
static int setup_callback_client(struct nfs4_client *clp, struct nfs4_cb_conn *conn, struct nfsd4_session *ses)
static void nfsd4_mark_cb_state(struct nfs4_client *clp, int newstate)
static void nfsd4_mark_cb_down(struct nfs4_client *clp)
static void nfsd4_mark_cb_fault(struct nfs4_client *clp)
struct nfs4_client *clp = container_of(calldata, struct nfs4_client, cl_cb_null);
struct nfs4_client *clp = container_of(calldata, struct nfs4_client, cl_cb_null);
void nfsd4_probe_callback(struct nfs4_client *clp)
void nfsd4_probe_callback_sync(struct nfs4_client *clp)
void nfsd4_change_callback(struct nfs4_client *clp, struct nfs4_cb_conn *conn)
struct nfs4_client *clp = cb->cb_clp;
struct nfs4_client *clp = cb->cb_clp;
struct nfs4_client *clp = cb->cb_clp;
struct nfs4_client *clp = cb->cb_clp;
struct nfs4_client *clp = cb->cb_clp;
void nfsd4_shutdown_callback(struct nfs4_client *clp)
static struct nfsd4_conn * __nfsd4_find_backchannel(struct nfs4_client *clp)
struct nfs4_client *clp = cb->cb_clp;
struct nfs4_client *clp = cb->cb_clp;
void nfsd4_init_cb(struct nfsd4_callback *cb, struct nfs4_client *clp,
struct nfs4_client *clp = cb->cb_clp;
struct nfs4_client *clp = ls->ls_stid.sc_client;
struct nfs4_client *clp = cstate->clp;
struct nfs4_client *clp = cstate->clp;
nfsd4_return_all_client_layouts(struct nfs4_client *clp)
nfsd4_return_all_file_layouts(struct nfs4_client *clp, struct nfs4_file *fp)
struct nfs4_client *clp = ls->ls_stid.sc_client;
bool nfsd4_has_active_async_copies(struct nfs4_client *clp)
struct nfs4_client *clp;
static struct nfsd4_copy *nfsd4_unhash_copy(struct nfs4_client *clp)
void nfsd4_shutdown_copy(struct nfs4_client *clp)
struct nfs4_client *clp;
struct nfs4_client *clp = copy->cp_clp;
struct nfs4_client *clp = copy->cp_clp;
find_async_copy_locked(struct nfs4_client *clp, stateid_t *stateid)
find_async_copy(struct nfs4_client *clp, stateid_t *stateid)
struct nfs4_client *clp = cstate->clp;
struct nfs4_client *clp = cstate->clp;
struct nfs4_client *clp = cstate->clp;
nfsd4_cld_create(struct nfs4_client *clp)
nfsd4_cld_create_v2(struct nfs4_client *clp)
nfsd4_cld_remove(struct nfs4_client *clp)
__nfsd4_create_reclaim_record_grace(struct nfs4_client *clp,
nfsd4_cld_check_v0(struct nfs4_client *clp)
nfsd4_cld_check(struct nfs4_client *clp)
nfsd4_cld_check_v2(struct nfs4_client *clp)
nfsd4_create_clid_dir(struct nfs4_client *clp)
nfsd4_cltrack_client_has_session(struct nfs4_client *clp)
nfsd4_cltrack_upcall_lock(struct nfs4_client *clp)
nfsd4_cltrack_upcall_unlock(struct nfs4_client *clp)
nfsd4_umh_cltrack_create(struct nfs4_client *clp)
nfsd4_umh_cltrack_remove(struct nfs4_client *clp)
nfsd4_umh_cltrack_check(struct nfs4_client *clp)
nfsd4_client_record_create(struct nfs4_client *clp)
nfsd4_client_record_remove(struct nfs4_client *clp)
nfsd4_client_record_check(struct nfs4_client *clp)
nfsd4_remove_clid_dir(struct nfs4_client *clp)
nfsd4_check_legacy_client(struct nfs4_client *clp)
void (*create)(struct nfs4_client *);
void (*remove)(struct nfs4_client *);
int (*check)(struct nfs4_client *);
static struct nfs4_ol_stateid * nfs4_alloc_open_stateid(struct nfs4_client *clp)
alloc_init_deleg(struct nfs4_client *clp, struct nfs4_file *fp,
struct nfs4_client *clp = s->sc_client;
nfs4_delegation_exists(struct nfs4_client *clp, struct nfs4_file *fp)
struct nfs4_client *searchclp = NULL;
struct nfs4_client *clp = dp->dl_stid.sc_client;
struct nfs4_client *clp = dp->dl_stid.sc_client;
struct nfs4_client *clp = sop->so_client;
struct nfs4_client *clp = s->sc_client;
struct nfs4_client *clp = stp->st_stid.sc_client;
struct nfs4_client *clp = lo->lo_owner.so_client;
static bool is_client_expired(struct nfs4_client *clp)
struct nfs4_client *clp)
struct nfs4_client *clp = oo->oo_owner.so_client;
struct nfs4_client *clp = oo->oo_owner.so_client;
static struct nfs4_stid *find_one_sb_stid(struct nfs4_client *clp,
static __be32 get_client_locked(struct nfs4_client *clp)
struct nfs4_client *clp;
renew_client_locked(struct nfs4_client *clp)
struct nfs4_client *clp = ses->se_client;
struct nfs4_client *clp = c->cn_session->se_client;
static void put_client_renew_locked(struct nfs4_client *clp)
struct nfs4_client *clp = ses->se_client;
struct nfs4_client *clp = s->se_client;
static void init_session(struct svc_rqst *rqstp, struct nfsd4_session *new, struct nfs4_client *clp, struct nfsd4_create_session *cses)
static void put_client_renew(struct nfs4_client *clp)
struct nfs4_client *clp = ses->se_client;
static struct nfs4_client *alloc_client(struct xdr_netobj name,
struct nfs4_client *clp;
struct nfs4_client *clp = container_of(c, struct nfs4_client, cl_nfsdfs);
void nfsd4_put_client(struct nfs4_client *clp)
free_client(struct nfs4_client *clp)
unhash_client_locked(struct nfs4_client *clp)
unhash_client(struct nfs4_client *clp)
static __be32 mark_client_expired_locked(struct nfs4_client *clp)
__destroy_client(struct nfs4_client *clp)
struct nfs4_client *clp = ses->se_client;
destroy_client(struct nfs4_client *clp)
static void inc_reclaim_complete(struct nfs4_client *clp)
static void expire_client(struct nfs4_client *clp)
static void copy_verf(struct nfs4_client *target, nfs4_verifier *source)
static void copy_clid(struct nfs4_client *target, struct nfs4_client *source)
struct nfs4_client *clp = ses->se_client;
bool nfsd4_mach_creds_match(struct nfs4_client *cl, struct svc_rqst *rqstp)
static void gen_confirm(struct nfs4_client *clp, struct nfsd_net *nn)
static void gen_clid(struct nfs4_client *clp, struct nfsd_net *nn)
find_stateid_locked(struct nfs4_client *cl, stateid_t *t)
find_stateid_by_type(struct nfs4_client *cl, stateid_t *t,
static struct nfs4_client *get_nfsdfs_clp(struct inode *inode)
return container_of(nc, struct nfs4_client, cl_nfsdfs);
struct nfs4_client *clp;
struct nfs4_client *clp = s->private;
struct nfs4_client *clp = s->private;
struct nfs4_client *clp = s->private;
struct nfs4_client *clp;
struct nfs4_client *clp = m->private;
static void force_expire_client(struct nfs4_client *clp)
struct nfs4_client *clp;
struct nfs4_client *clp = cb->cb_clp;
static struct nfs4_client *create_client(struct xdr_netobj name,
struct nfs4_client *clp;
add_clp_to_name_tree(struct nfs4_client *new_clp, struct rb_root *root)
struct nfs4_client *clp;
clp = rb_entry(*new, struct nfs4_client, cl_namenode);
static struct nfs4_client *
struct nfs4_client *clp;
clp = rb_entry(node, struct nfs4_client, cl_namenode);
add_to_unconfirmed(struct nfs4_client *clp)
struct nfs4_client *clp = lo->lo_owner.so_client;
move_to_confirmed(struct nfs4_client *clp)
static struct nfs4_client *
struct nfs4_client *clp;
static struct nfs4_client *
static struct nfs4_client *
static bool clp_used_exchangeid(struct nfs4_client *clp)
static struct nfs4_client *
static struct nfs4_client *
gen_callback(struct nfs4_client *clp, struct nfsd4_setclientid *se, struct svc_rqst *rqstp)
nfsd4_set_ex_flags(struct nfs4_client *new, struct nfsd4_exchange_id *clid)
static bool client_has_openowners(struct nfs4_client *clp)
static bool client_has_state(struct nfs4_client *clp)
static __be32 copy_impl_id(struct nfs4_client *clp,
struct nfs4_client *conf, *new;
struct nfs4_client *unconf = NULL;
struct nfs4_client *conf, *unconf;
struct nfs4_client *old = NULL;
struct nfs4_client *clp = session->se_client;
struct nfs4_client *clp = ses->se_client;
struct nfs4_client *clp = session->se_client;
struct nfs4_client *clp;
struct nfs4_client *conf, *unconf;
struct nfs4_client *clp = NULL;
struct nfs4_client *clp = cstate->clp;
struct nfs4_client *conf, *new;
struct nfs4_client *unconf = NULL;
struct nfs4_client *conf, *unconf;
struct nfs4_client *old = NULL;
client_slab = KMEM_CACHE(nfs4_client, 0);
static inline void *alloc_stateowner(struct kmem_cache *slab, struct xdr_netobj *owner, struct nfs4_client *clp)
static void hash_openowner(struct nfs4_openowner *oo, struct nfs4_client *clp, unsigned int strhashval)
struct nfs4_client *cl = s->sc_client;
static void nfsd40_drop_revoked_stid(struct nfs4_client *cl,
struct nfs4_client *clp = cstate->clp;
struct nfs4_client *clp)
struct nfs4_client *clp = dp->dl_stid.sc_client;
struct nfs4_client *clp;
struct nfs4_client *clp = dp->dl_stid.sc_client;
static struct nfs4_client *lookup_clientid(clientid_t *clid, bool sessions,
struct nfs4_client *found;
struct nfs4_client *clp = NULL;
static struct nfs4_delegation *find_deleg_stateid(struct nfs4_client *cl,
nfs4_check_deleg(struct nfs4_client *cl, struct nfsd4_open *open,
static bool nfsd4_cb_channel_good(struct nfs4_client *clp)
static int nfsd4_check_conflicting_opens(struct nfs4_client *clp,
struct nfs4_client *clp = stp->st_stid.sc_client;
struct nfs4_client *clp = stp->st_stid.sc_client;
struct nfs4_client *cl = open->op_openowner->oo_owner.so_client;
struct nfs4_client *clp;
nfs4_anylock_blockers(struct nfs4_client *clp)
struct nfs4_client *clp;
clp = list_entry(pos, struct nfs4_client, cl_lru);
struct nfs4_client *clp;
clp = list_entry(pos, struct nfs4_client, cl_lru);
struct nfs4_client *clp;
clp = list_entry(pos, struct nfs4_client, cl_lru);
struct nfs4_client *clp;
struct nfs4_client *clp;
clp = list_entry(pos, struct nfs4_client, cl_lru);
static __be32 nfsd4_validate_stateid(struct nfs4_client *cl, stateid_t *stateid)
struct nfs4_client *clp;
struct nfs4_client *clp,
struct nfs4_client *found;
struct nfs4_client *cl = cstate->clp;
struct nfs4_client *cl = cstate->clp;
struct nfs4_client *clp = s->st_stid.sc_client;
struct nfs4_client *clp = lo->lo_owner.so_client;
find_lockowner_str_locked(struct nfs4_client *clp, struct xdr_netobj *owner)
find_lockowner_str(struct nfs4_client *clp, struct xdr_netobj *owner)
alloc_init_lock_stateowner(unsigned int strhashval, struct nfs4_client *clp,
struct nfs4_client *clp = lo->lo_owner.so_client;
struct nfs4_client *clp = oo->oo_owner.so_client;
struct nfs4_client *cl = oo->oo_owner.so_client;
alloc_clnt_odstate(struct nfs4_client *clp)
struct nfs4_client *clp;
struct nfs4_client *cl;
nfs4_check_open_reclaim(struct nfs4_client *clp)
struct nfs4_client *clp = NULL;
clp = list_entry(nn->conf_id_hashtbl[i].next, struct nfs4_client, cl_idhash);
clp = list_entry(nn->unconf_id_hashtbl[i].next, struct nfs4_client, cl_idhash);
struct nfs4_stid *nfs4_alloc_stid(struct nfs4_client *cl, struct kmem_cache *slab,
struct nfs4_client *clp = cstate->clp;
struct nfs4_client *clp,
void nfsd4_return_all_client_layouts(struct nfs4_client *);
void nfsd4_return_all_file_layouts(struct nfs4_client *clp,
struct nfs4_client;
static inline void nfsd4_return_all_client_layouts(struct nfs4_client *clp)
static inline void nfsd4_return_all_file_layouts(struct nfs4_client *clp,
struct nfs4_client *sc_client;
struct nfs4_client *se_client;
struct nfs4_client *cr_clp; /* pointer to associated clp */
struct nfs4_client *so_client;
struct nfs4_client *co_client;
struct nfs4_stid *nfs4_alloc_stid(struct nfs4_client *cl, struct kmem_cache *slab,
extern __be32 nfs4_check_open_reclaim(struct nfs4_client *);
extern void nfsd4_probe_callback(struct nfs4_client *clp);
extern void nfsd4_probe_callback_sync(struct nfs4_client *clp);
extern void nfsd4_change_callback(struct nfs4_client *clp, struct nfs4_cb_conn *);
extern void nfsd4_init_cb(struct nfsd4_callback *cb, struct nfs4_client *clp,
extern void nfsd4_shutdown_callback(struct nfs4_client *);
extern void nfsd4_shutdown_copy(struct nfs4_client *clp);
void nfsd4_put_client(struct nfs4_client *clp);
bool nfsd4_has_active_async_copies(struct nfs4_client *clp);
struct nfs4_client *cb_clp;
struct nfs4_client *clp,
extern void nfsd4_client_record_create(struct nfs4_client *clp);
extern void nfsd4_client_record_remove(struct nfs4_client *clp);
extern int nfsd4_client_record_check(struct nfs4_client *clp);
static inline bool try_to_expire_client(struct nfs4_client *clp)
const struct nfs4_client *clp,
const struct nfs4_client *clp,
TP_PROTO(const struct nfs4_client *clp),
TP_PROTO(const struct nfs4_client *clp), \
const struct nfs4_client *clp,
TP_PROTO(const struct nfs4_client *clp),
TP_PROTO(const struct nfs4_client *clp),
TP_PROTO(const struct nfs4_client *clp), \
TP_PROTO(const struct nfs4_client *clp,
const struct nfs4_client *clp,
const struct nfs4_client *clp,
const struct nfs4_client *clp, \
const struct nfs4_client *clp = cb->cb_clp;
const struct nfs4_client *clp = cb->cb_clp;
const struct nfs4_client *clp = stid->sc_client;
const struct nfs4_client *clp = lo->lo_owner.so_client;
const struct nfs4_client *clp,
const struct nfs4_client *clp,
const struct nfs4_client *clp, \
const struct nfs4_client *clp,
const struct nfs4_client *clp, \
const struct nfs4_client *clp,
const struct nfs4_client *clp,
struct nfs4_client *clp;
struct nfs4_client *cp_clp;
bool nfsd4_mach_creds_match(struct nfs4_client *cl, struct svc_rqst *rqstp);