#include <linux/idr.h>
#include <linux/fs_parser.h>
#include <linux/magic.h>
#include <linux/module.h>
#include <linux/nls.h>
#include <linux/statfs.h>
#include <linux/vbox_utils.h>
#include "vfsmod.h"
#define VBOXSF_SUPER_MAGIC …
static const unsigned char VBSF_MOUNT_SIGNATURE[4] = …;
static int follow_symlinks;
module_param(follow_symlinks, int, 0444);
MODULE_PARM_DESC(…) …;
static DEFINE_IDA(vboxsf_bdi_ida);
static DEFINE_MUTEX(vboxsf_setup_mutex);
static bool vboxsf_setup_done;
static struct super_operations vboxsf_super_ops;
static struct kmem_cache *vboxsf_inode_cachep;
static char * const vboxsf_default_nls = …;
enum { … };
static const struct fs_parameter_spec vboxsf_fs_parameters[] = …;
static int vboxsf_parse_param(struct fs_context *fc, struct fs_parameter *param)
{ … }
static int vboxsf_fill_super(struct super_block *sb, struct fs_context *fc)
{ … }
static void vboxsf_inode_init_once(void *data)
{ … }
static struct inode *vboxsf_alloc_inode(struct super_block *sb)
{ … }
static void vboxsf_free_inode(struct inode *inode)
{ … }
static void vboxsf_put_super(struct super_block *sb)
{ … }
static int vboxsf_statfs(struct dentry *dentry, struct kstatfs *stat)
{ … }
static struct super_operations vboxsf_super_ops = …;
static int vboxsf_setup(void)
{ … }
static int vboxsf_parse_monolithic(struct fs_context *fc, void *data)
{ … }
static int vboxsf_get_tree(struct fs_context *fc)
{ … }
static int vboxsf_reconfigure(struct fs_context *fc)
{ … }
static void vboxsf_free_fc(struct fs_context *fc)
{ … }
static const struct fs_context_operations vboxsf_context_ops = …;
static int vboxsf_init_fs_context(struct fs_context *fc)
{ … }
static struct file_system_type vboxsf_fs_type = …;
static int __init vboxsf_init(void)
{ … }
static void __exit vboxsf_fini(void)
{ … }
module_init(…) …;
module_exit(vboxsf_fini);
MODULE_DESCRIPTION(…) …;
MODULE_AUTHOR(…) …;
MODULE_LICENSE(…) …;
MODULE_ALIAS_FS(…) …;