#include <linux/init.h>
#include <linux/module.h>
#include <linux/blkdev.h>
#include <linux/fs.h>
#include <linux/buffer_head.h>
#include <linux/kernel.h>
#include <linux/slab.h>
#include <linux/stat.h>
#include <linux/vfs.h>
#include <linux/fs_context.h>
#include "vxfs.h"
#include "vxfs_extern.h"
#include "vxfs_dir.h"
#include "vxfs_inode.h"
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;
static struct kmem_cache *vxfs_inode_cachep;
static void
vxfs_put_super(struct super_block *sbp)
{ … }
static int
vxfs_statfs(struct dentry *dentry, struct kstatfs *bufp)
{ … }
static int vxfs_reconfigure(struct fs_context *fc)
{ … }
static struct inode *vxfs_alloc_inode(struct super_block *sb)
{ … }
static void vxfs_free_inode(struct inode *inode)
{ … }
static const struct super_operations vxfs_super_ops = …;
static int vxfs_try_sb_magic(struct super_block *sbp, struct fs_context *fc,
unsigned blk, __fs32 magic)
{ … }
static int vxfs_fill_super(struct super_block *sbp, struct fs_context *fc)
{ … }
static int vxfs_get_tree(struct fs_context *fc)
{ … }
static const struct fs_context_operations vxfs_context_ops = …;
static int vxfs_init_fs_context(struct fs_context *fc)
{ … }
static struct file_system_type vxfs_fs_type = …;
MODULE_ALIAS_FS(…) …;
MODULE_ALIAS(…) …;
static int __init
vxfs_init(void)
{ … }
static void __exit
vxfs_cleanup(void)
{ … }
module_init(…) …;
module_exit(vxfs_cleanup);