#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/mount.h>
#include <linux/init.h>
#include <linux/slab.h>
#include <linux/fs.h>
#include <linux/pagemap.h>
#include <linux/fs_parser.h>
#include <linux/statfs.h>
#include <linux/sched.h>
#include <linux/nsproxy.h>
#include <linux/magic.h>
#include <net/net_namespace.h>
#include "internal.h"
static void afs_i_init_once(void *foo);
static void afs_kill_super(struct super_block *sb);
static struct inode *afs_alloc_inode(struct super_block *sb);
static void afs_destroy_inode(struct inode *inode);
static void afs_free_inode(struct inode *inode);
static int afs_statfs(struct dentry *dentry, struct kstatfs *buf);
static int afs_show_devname(struct seq_file *m, struct dentry *root);
static int afs_show_options(struct seq_file *m, struct dentry *root);
static int afs_init_fs_context(struct fs_context *fc);
static const struct fs_parameter_spec afs_fs_parameters[];
struct file_system_type afs_fs_type = …;
MODULE_ALIAS_FS(…) …;
int afs_net_id;
static const struct super_operations afs_super_ops = …;
static struct kmem_cache *afs_inode_cachep;
static atomic_t afs_count_active_inodes;
enum afs_param { … };
static const struct constant_table afs_param_flock[] = …;
static const struct fs_parameter_spec afs_fs_parameters[] = …;
int __init afs_fs_init(void)
{ … }
void afs_fs_exit(void)
{ … }
static int afs_show_devname(struct seq_file *m, struct dentry *root)
{ … }
static int afs_show_options(struct seq_file *m, struct dentry *root)
{ … }
static int afs_parse_source(struct fs_context *fc, struct fs_parameter *param)
{ … }
static int afs_parse_param(struct fs_context *fc, struct fs_parameter *param)
{ … }
static int afs_validate_fc(struct fs_context *fc)
{ … }
static int afs_test_super(struct super_block *sb, struct fs_context *fc)
{ … }
static int afs_dynroot_test_super(struct super_block *sb, struct fs_context *fc)
{ … }
static int afs_set_super(struct super_block *sb, struct fs_context *fc)
{ … }
static int afs_fill_super(struct super_block *sb, struct afs_fs_context *ctx)
{ … }
static struct afs_super_info *afs_alloc_sbi(struct fs_context *fc)
{ … }
static void afs_destroy_sbi(struct afs_super_info *as)
{ … }
static void afs_kill_super(struct super_block *sb)
{ … }
static int afs_get_tree(struct fs_context *fc)
{ … }
static void afs_free_fc(struct fs_context *fc)
{ … }
static const struct fs_context_operations afs_context_ops = …;
static int afs_init_fs_context(struct fs_context *fc)
{ … }
static void afs_i_init_once(void *_vnode)
{ … }
static struct inode *afs_alloc_inode(struct super_block *sb)
{ … }
static void afs_free_inode(struct inode *inode)
{ … }
static void afs_destroy_inode(struct inode *inode)
{ … }
static void afs_get_volume_status_success(struct afs_operation *op)
{ … }
static const struct afs_operation_ops afs_get_volume_status_operation = …;
static int afs_statfs(struct dentry *dentry, struct kstatfs *buf)
{ … }