#include <linux/init.h>
#include <linux/module.h>
#include <linux/mount.h>
#include <linux/nfs4_mount.h>
#include <linux/nfs_fs.h>
#include <linux/nfs_ssc.h>
#include "delegation.h"
#include "internal.h"
#include "nfs4_fs.h"
#include "nfs4idmap.h"
#include "dns_resolve.h"
#include "pnfs.h"
#include "nfs.h"
#define NFSDBG_FACILITY …
static int nfs4_write_inode(struct inode *inode, struct writeback_control *wbc);
static void nfs4_evict_inode(struct inode *inode);
static const struct super_operations nfs4_sops = …;
struct nfs_subversion nfs_v4 = …;
static int nfs4_write_inode(struct inode *inode, struct writeback_control *wbc)
{ … }
static void nfs4_evict_inode(struct inode *inode)
{ … }
struct nfs_referral_count { … };
static LIST_HEAD(nfs_referral_count_list);
static DEFINE_SPINLOCK(nfs_referral_count_list_lock);
static struct nfs_referral_count *nfs_find_referral_count(void)
{ … }
#define NFS_MAX_NESTED_REFERRALS …
static int nfs_referral_loop_protect(void)
{ … }
static void nfs_referral_loop_unprotect(void)
{ … }
static int do_nfs4_mount(struct nfs_server *server,
struct fs_context *fc,
const char *hostname,
const char *export_path)
{ … }
int nfs4_try_get_tree(struct fs_context *fc)
{ … }
int nfs4_get_referral_tree(struct fs_context *fc)
{ … }
static int __init init_nfs_v4(void)
{ … }
static void __exit exit_nfs_v4(void)
{ … }
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;
module_init(…) …;
module_exit(exit_nfs_v4);