#include <linux/module.h>
#include <linux/types.h>
#include <linux/slab.h>
#include <linux/time.h>
#include <linux/nfs_fs.h>
#include <linux/sunrpc/addr.h>
#include <linux/sunrpc/svc.h>
#include <linux/sunrpc/svc_xprt.h>
#include <linux/lockd/lockd.h>
#include <linux/kthread.h>
#include "trace.h"
#define NLMDBG_FACILITY …
static int reclaimer(void *ptr);
static LIST_HEAD(nlm_blocked);
static DEFINE_SPINLOCK(nlm_blocked_lock);
struct nlm_host *nlmclnt_init(const struct nlmclnt_initdata *nlm_init)
{ … }
EXPORT_SYMBOL_GPL(…);
void nlmclnt_done(struct nlm_host *host)
{ … }
EXPORT_SYMBOL_GPL(…);
void nlmclnt_prepare_block(struct nlm_wait *block, struct nlm_host *host, struct file_lock *fl)
{ … }
struct rpc_clnt *nlmclnt_rpc_clnt(struct nlm_host *host)
{ … }
EXPORT_SYMBOL_GPL(…);
void nlmclnt_queue_block(struct nlm_wait *block)
{ … }
__be32 nlmclnt_dequeue_block(struct nlm_wait *block)
{ … }
int nlmclnt_wait(struct nlm_wait *block, struct nlm_rqst *req, long timeout)
{ … }
__be32 nlmclnt_grant(const struct sockaddr *addr, const struct nlm_lock *lock)
{ … }
void
nlmclnt_recovery(struct nlm_host *host)
{ … }
static int
reclaimer(void *ptr)
{ … }