#include <linux/init.h>
#include <linux/module.h>
#include <linux/exportfs.h>
#include <linux/slab.h>
#include <linux/buffer_head.h>
#include <linux/vfs.h>
#include <linux/blkdev.h>
#include <linux/fs_context.h>
#include <linux/fs_parser.h>
#include "efs.h"
#include <linux/efs_vh.h>
#include <linux/efs_fs_sb.h>
static int efs_statfs(struct dentry *dentry, struct kstatfs *buf);
static int efs_init_fs_context(struct fs_context *fc);
static void efs_kill_sb(struct super_block *s)
{ … }
static struct pt_types sgi_pt_types[] = …;
enum { … };
static const struct fs_parameter_spec efs_param_spec[] = …;
static struct file_system_type efs_fs_type = …;
MODULE_ALIAS_FS(…) …;
static struct kmem_cache * efs_inode_cachep;
static struct inode *efs_alloc_inode(struct super_block *sb)
{ … }
static void efs_free_inode(struct inode *inode)
{ … }
static void init_once(void *foo)
{ … }
static int __init init_inodecache(void)
{ … }
static void destroy_inodecache(void)
{ … }
static const struct super_operations efs_superblock_operations = …;
static const struct export_operations efs_export_ops = …;
static int __init init_efs_fs(void) { … }
static void __exit exit_efs_fs(void) { … }
module_init(…) …
module_exit(…)
static efs_block_t efs_validate_vh(struct volume_header *vh) { … }
static int efs_validate_super(struct efs_sb_info *sb, struct efs_super *super) { … }
static int efs_fill_super(struct super_block *s, struct fs_context *fc)
{ … }
static void efs_free_fc(struct fs_context *fc)
{ … }
static int efs_get_tree(struct fs_context *fc)
{ … }
static int efs_parse_param(struct fs_context *fc, struct fs_parameter *param)
{ … }
static int efs_reconfigure(struct fs_context *fc)
{ … }
struct efs_context { … };
static const struct fs_context_operations efs_context_opts = …;
static int efs_init_fs_context(struct fs_context *fc)
{ … }
static int efs_statfs(struct dentry *dentry, struct kstatfs *buf) { … }