nfsclclient
int nfsrpc_setclient(struct nfsmount *, struct nfsclclient *, int,
struct nfsclclient *, u_int64_t, u_int64_t, struct flock *,
int nfsrpc_renew(struct nfsclclient *, struct nfsclds *, struct ucred *,
int nfsrpc_exchangeid(struct nfsmount *, struct nfsclclient *,
int nfsrpc_destroyclient(struct nfsmount *, struct nfsclclient *,
struct nfsclclient **);
struct nfsclclient *nfscl_findcl(struct nfsmount *);
void nfscl_clientrelease(struct nfsclclient *);
struct ucred *, NFSPROC_T *, struct nfsclclient *, int, void *, int,
struct ucred *, NFSPROC_T *, int, struct nfsclclient *,
void nfscl_renewthread(struct nfsclclient *, NFSPROC_T *);
void nfscl_initiate_recovery(struct nfsclclient *);
int nfscl_hasexpired(struct nfsclclient *, u_int32_t, NFSPROC_T *);
int nfscl_getclose(vnode_t, struct nfsclclient **);
int nfscl_doclose(vnode_t, struct nfsclclient **, NFSPROC_T *);
int nfscl_deleg(mount_t, struct nfsclclient *, u_int8_t *, int,
void nfscl_releasealllocks(struct nfsclclient *, vnode_t, NFSPROC_T *, void *,
int nfscl_lockt(vnode_t, struct nfsclclient *, u_int64_t,
struct nfscllayout *nfscl_getlayout(struct nfsclclient *, uint8_t *, int,
struct nfscldevinfo *nfscl_getdevinfo(struct nfsclclient *, uint8_t *,
void nfscl_startdelegrecall(struct nfsclclient *, struct nfsfh *);
void nfscl_start_renewthread(struct nfsclclient *);
struct nfsclclient;
LIST_ENTRY(nfsclclient) nfsc_list;
struct nfsclclient *nfsow_clp;
struct nfsclclient *nfsdl_clp;
struct nfsclclient *nfsly_clp;
struct nfsclclient *nfsdi_clp;
LIST_HEAD(nfsclhead, nfsclclient);
struct nfsclclient *clp;
clp = (struct nfsclclient *)arg;
nfscl_start_renewthread(struct nfsclclient *clp)
nfsrpc_setclient(struct nfsmount *nmp, struct nfsclclient *clp, int reclaim,
struct nfsclclient *clp;
struct nfsclclient *clp, u_int64_t off, u_int64_t len, struct flock *fl,
nfsrpc_renew(struct nfsclclient *clp, struct nfsclds *dsp, struct ucred *cred,
nfsrpc_exchangeid(struct nfsmount *nmp, struct nfsclclient *clp,
nfsrpc_destroyclient(struct nfsmount *nmp, struct nfsclclient *clp,
struct nfsclclient *clp;
struct nfsclclient *clp;
static void nfscl_clrelease(struct nfsclclient *);
struct nfsclclient *
struct nfsclclient *clp;
static void nfscl_cleanclient(struct nfsclclient *);
nfscl_clrelease(struct nfsclclient *clp)
static void nfscl_expireclient(struct nfsclclient *, struct nfsmount *,
nfscl_clientrelease(struct nfsclclient *clp)
static int nfscl_expireopen(struct nfsclclient *, struct nfsclopen *,
short type, struct ucred *cred, NFSPROC_T *p, struct nfsclclient *rclp,
struct nfsclclient *clp;
static void nfscl_recover(struct nfsclclient *, bool *, struct ucred *,
static void nfscl_delegreturnall(struct nfsclclient *, NFSPROC_T *,
static mount_t nfscl_getmnt(int, uint8_t *, u_int32_t, struct nfsclclient **);
static struct nfsclclient *nfscl_getclnt(u_int32_t);
static struct nfsclclient *nfscl_getclntsess(uint8_t *);
static struct nfscldeleg *nfscl_finddeleg(struct nfsclclient *, u_int8_t *,
static void nfscl_retoncloselayout(vnode_t, struct nfsclclient *, uint8_t *,
static struct nfscllayout *nfscl_findlayout(struct nfsclclient *, u_int8_t *,
struct nfsclclient *clp, void *id, int flags,
static struct nfscldevinfo *nfscl_finddevinfo(struct nfsclclient *, uint8_t *);
static int nfscl_localconflict(struct nfsclclient *, u_int8_t *, int,
static void nfscl_newopen(struct nfsclclient *, struct nfscldeleg *,
static int nfscl_moveopen(vnode_t , struct nfsclclient *,
nfscl_releasealllocks(struct nfsclclient *clp, vnode_t vp, NFSPROC_T *p,
static void nfscl_totalrecall(struct nfsclclient *);
static int nfscl_relock(vnode_t , struct nfsclclient *, struct nfsmount *,
struct nfsclclient *clp;
struct nfsclclient *clp;
static void nfscl_cleanup_common(struct nfsclclient *, u_int8_t *);
static int nfscl_recalldeleg(struct nfsclclient *, struct nfsmount *,
nfscl_expireopen(struct nfsclclient *clp, struct nfsclopen *op,
nfscl_cleanclient(struct nfsclclient *clp)
nfscl_expireclient(struct nfsclclient *clp, struct nfsmount *nmp,
nfscl_cleanup_common(struct nfsclclient *clp, u_int8_t *own)
nfscl_cleanupkext(struct nfsclclient *clp, struct nfscllockownerfhhead *lhp)
struct nfsclclient *clp;
nfscl_recover(struct nfsclclient *clp, bool *retokp, struct ucred *cred,
struct nfsclclient *clp;
nfscl_hasexpired(struct nfsclclient *clp, u_int32_t clidrev, NFSPROC_T *p)
nfscl_renewthread(struct nfsclclient *clp, NFSPROC_T *p)
nfscl_initiate_recovery(struct nfsclclient *clp)
struct nfsclclient *clp;
struct nfsclclient *clp;
nfscl_getclose(vnode_t vp, struct nfsclclient **clpp)
struct nfsclclient *clp;
nfscl_doclose(vnode_t vp, struct nfsclclient **clpp, NFSPROC_T *p)
struct nfsclclient *clp;
nfscl_newopen(struct nfsclclient *clp, struct nfscldeleg *dp,
nfscl_delegreturnall(struct nfsclclient *clp, NFSPROC_T *p,
struct nfsclclient *clp;
struct nfsclclient *clp;
struct nfsclclient *clp;
struct nfsclclient **clpp)
struct nfsclclient *clp;
static struct nfsclclient *
struct nfsclclient *clp;
static struct nfsclclient *
struct nfsclclient *clp;
nfscl_localconflict(struct nfsclclient *clp, u_int8_t *fhp, int fhlen,
nfscl_lockt(vnode_t vp, struct nfsclclient *clp, u_int64_t off,
nfscl_recalldeleg(struct nfsclclient *clp, struct nfsmount *nmp,
nfscl_deleg(mount_t mp, struct nfsclclient *clp, u_int8_t *nfhp,
nfscl_moveopen(vnode_t vp, struct nfsclclient *clp, struct nfsmount *nmp,
nfscl_totalrecall(struct nfsclclient *clp)
nfscl_relock(vnode_t vp, struct nfsclclient *clp, struct nfsmount *nmp,
struct nfsclclient *clp;
struct nfsclclient *clp;
struct nfsclclient *clp;
struct nfsclclient *clp;
nfscl_finddeleg(struct nfsclclient *clp, u_int8_t *fhp, int fhlen)
struct nfsclclient *clp;
struct nfsclclient *clp;
struct nfsclclient *clp;
struct nfsclclient *clp;
struct nfsclclient *clp;
struct nfsclclient *clp;
struct nfsclclient *clp;
struct nfsclclient *clp;
nfscl_getlayout(struct nfsclclient *clp, uint8_t *fhp, int fhlen,
nfscl_retoncloselayout(vnode_t vp, struct nfsclclient *clp, uint8_t *fhp,
nfscl_getdevinfo(struct nfsclclient *clp, uint8_t *deviceid,
nfscl_findlayout(struct nfsclclient *clp, u_int8_t *fhp, int fhlen)
nfscl_finddevinfo(struct nfsclclient *clp, uint8_t *deviceid)
struct nfsclclient *clp;
struct nfsclclient *clp;
struct nfsclclient *clp;
void nfscl_startdelegrecall(struct nfsclclient *clp, struct nfsfh *nfhp)
struct nfsclclient *clp;
bool tryminvers, bool firstref, struct nfsclclient **clpp)
struct nfsclclient *clp;
struct nfsclclient *newclp = NULL;
sizeof (struct nfsclclient) + idlen - 1, M_NFSCLCLIENT,
struct nfsclclient *clp;
struct nfsclclient *nm_clp;