#define pr_fmt(fmt) …
#include <linux/blkdev.h>
#include <linux/fs.h>
#include <linux/fs_context.h>
#include <linux/fs_parser.h>
#include <linux/vfs.h>
#include <linux/slab.h>
#include <linux/mutex.h>
#include <linux/seq_file.h>
#include <linux/pagemap.h>
#include <linux/init.h>
#include <linux/module.h>
#include <linux/magic.h>
#include <linux/xattr.h>
#include "squashfs_fs.h"
#include "squashfs_fs_sb.h"
#include "squashfs_fs_i.h"
#include "squashfs.h"
#include "decompressor.h"
#include "xattr.h"
static struct file_system_type squashfs_fs_type;
static const struct super_operations squashfs_super_ops;
enum Opt_errors { … };
enum squashfs_param { … };
struct squashfs_mount_opts { … };
static const struct constant_table squashfs_param_errors[] = …;
static const struct fs_parameter_spec squashfs_fs_parameters[] = …;
static int squashfs_parse_param_threads_str(const char *str, struct squashfs_mount_opts *opts)
{ … }
static int squashfs_parse_param_threads_num(const char *str, struct squashfs_mount_opts *opts)
{ … }
static int squashfs_parse_param_threads(const char *str, struct squashfs_mount_opts *opts)
{ … }
static int squashfs_parse_param(struct fs_context *fc, struct fs_parameter *param)
{ … }
static const struct squashfs_decompressor *supported_squashfs_filesystem(
struct fs_context *fc,
short major, short minor, short id)
{ … }
static int squashfs_fill_super(struct super_block *sb, struct fs_context *fc)
{ … }
static int squashfs_get_tree(struct fs_context *fc)
{ … }
static int squashfs_reconfigure(struct fs_context *fc)
{ … }
static void squashfs_free_fs_context(struct fs_context *fc)
{ … }
static const struct fs_context_operations squashfs_context_ops = …;
static int squashfs_show_options(struct seq_file *s, struct dentry *root)
{ … }
static int squashfs_init_fs_context(struct fs_context *fc)
{ … }
static int squashfs_statfs(struct dentry *dentry, struct kstatfs *buf)
{ … }
static void squashfs_put_super(struct super_block *sb)
{ … }
static struct kmem_cache *squashfs_inode_cachep;
static void init_once(void *foo)
{ … }
static int __init init_inodecache(void)
{ … }
static void destroy_inodecache(void)
{ … }
static int __init init_squashfs_fs(void)
{ … }
static void __exit exit_squashfs_fs(void)
{ … }
static struct inode *squashfs_alloc_inode(struct super_block *sb)
{ … }
static void squashfs_free_inode(struct inode *inode)
{ … }
static struct file_system_type squashfs_fs_type = …;
MODULE_ALIAS_FS(…) …;
static const struct super_operations squashfs_super_ops = …;
module_init(…) …;
module_exit(exit_squashfs_fs);
MODULE_DESCRIPTION(…) …;
MODULE_AUTHOR(…) …;
MODULE_LICENSE(…) …;