#include <linux/export.h>
#include <linux/nfs_fs.h>
#include "nfs4session.h"
#include "internal.h"
#include "pnfs.h"
#include "nfs4trace.h"
#define NFSDBG_FACILITY …
#define NFS4_DEVICE_ID_HASH_BITS …
#define NFS4_DEVICE_ID_HASH_SIZE …
#define NFS4_DEVICE_ID_HASH_MASK …
static struct hlist_head nfs4_deviceid_cache[NFS4_DEVICE_ID_HASH_SIZE];
static DEFINE_SPINLOCK(nfs4_deviceid_lock);
#ifdef NFS_DEBUG
void
nfs4_print_deviceid(const struct nfs4_deviceid *id)
{ … }
EXPORT_SYMBOL_GPL(…);
#endif
static inline u32
nfs4_deviceid_hash(const struct nfs4_deviceid *id)
{ … }
static struct nfs4_deviceid_node *
_lookup_deviceid(const struct pnfs_layoutdriver_type *ld,
const struct nfs_client *clp, const struct nfs4_deviceid *id,
long hash)
{ … }
static struct nfs4_deviceid_node *
nfs4_get_device_info(struct nfs_server *server,
const struct nfs4_deviceid *dev_id,
const struct cred *cred, gfp_t gfp_flags)
{ … }
static struct nfs4_deviceid_node *
__nfs4_find_get_deviceid(struct nfs_server *server,
const struct nfs4_deviceid *id, long hash)
{ … }
struct nfs4_deviceid_node *
nfs4_find_get_deviceid(struct nfs_server *server,
const struct nfs4_deviceid *id, const struct cred *cred,
gfp_t gfp_mask)
{ … }
EXPORT_SYMBOL_GPL(…);
void
nfs4_delete_deviceid(const struct pnfs_layoutdriver_type *ld,
const struct nfs_client *clp, const struct nfs4_deviceid *id)
{ … }
EXPORT_SYMBOL_GPL(…);
void
nfs4_init_deviceid_node(struct nfs4_deviceid_node *d, struct nfs_server *server,
const struct nfs4_deviceid *id)
{ … }
EXPORT_SYMBOL_GPL(…);
bool
nfs4_put_deviceid_node(struct nfs4_deviceid_node *d)
{ … }
EXPORT_SYMBOL_GPL(…);
void
nfs4_mark_deviceid_available(struct nfs4_deviceid_node *node)
{ … }
EXPORT_SYMBOL_GPL(…);
void
nfs4_mark_deviceid_unavailable(struct nfs4_deviceid_node *node)
{ … }
EXPORT_SYMBOL_GPL(…);
bool
nfs4_test_deviceid_unavailable(struct nfs4_deviceid_node *node)
{ … }
EXPORT_SYMBOL_GPL(…);
static void
_deviceid_purge_client(const struct nfs_client *clp, long hash)
{ … }
void
nfs4_deviceid_purge_client(const struct nfs_client *clp)
{ … }
void
nfs4_deviceid_mark_client_invalid(struct nfs_client *clp)
{ … }