linux/fs/erofs/super.c

// SPDX-License-Identifier: GPL-2.0-only
/*
 * Copyright (C) 2017-2018 HUAWEI, Inc.
 *             https://www.huawei.com/
 * Copyright (C) 2021, Alibaba Cloud
 */
#include <linux/statfs.h>
#include <linux/seq_file.h>
#include <linux/crc32c.h>
#include <linux/fs_context.h>
#include <linux/fs_parser.h>
#include <linux/exportfs.h>
#include "xattr.h"

#define CREATE_TRACE_POINTS
#include <trace/events/erofs.h>

static struct kmem_cache *erofs_inode_cachep __read_mostly;

void _erofs_err(struct super_block *sb, const char *func, const char *fmt, ...)
{}

void _erofs_info(struct super_block *sb, const char *func, const char *fmt, ...)
{}

static int erofs_superblock_csum_verify(struct super_block *sb, void *sbdata)
{}

static void erofs_inode_init_once(void *ptr)
{}

static struct inode *erofs_alloc_inode(struct super_block *sb)
{}

static void erofs_free_inode(struct inode *inode)
{}

static bool check_layout_compatibility(struct super_block *sb,
				       struct erofs_super_block *dsb)
{}

/* read variable-sized metadata, offset will be aligned by 4-byte */
void *erofs_read_metadata(struct super_block *sb, struct erofs_buf *buf,
			  erofs_off_t *offset, int *lengthp)
{}

#ifndef CONFIG_EROFS_FS_ZIP
static int z_erofs_parse_cfgs(struct super_block *sb,
			      struct erofs_super_block *dsb)
{
	if (!dsb->u1.available_compr_algs)
		return 0;

	erofs_err(sb, "compression disabled, unable to mount compressed EROFS");
	return -EOPNOTSUPP;
}
#endif

static int erofs_init_device(struct erofs_buf *buf, struct super_block *sb,
			     struct erofs_device_info *dif, erofs_off_t *pos)
{}

static int erofs_scan_devices(struct super_block *sb,
			      struct erofs_super_block *dsb)
{}

static int erofs_read_superblock(struct super_block *sb)
{}

static void erofs_default_options(struct erofs_sb_info *sbi)
{}

enum {};

static const struct constant_table erofs_param_cache_strategy[] =;

static const struct constant_table erofs_dax_param_enums[] =;

static const struct fs_parameter_spec erofs_fs_parameters[] =;

static bool erofs_fc_set_dax_mode(struct fs_context *fc, unsigned int mode)
{}

static int erofs_fc_parse_param(struct fs_context *fc,
				struct fs_parameter *param)
{}

static struct inode *erofs_nfs_get_inode(struct super_block *sb,
					 u64 ino, u32 generation)
{}

static struct dentry *erofs_fh_to_dentry(struct super_block *sb,
		struct fid *fid, int fh_len, int fh_type)
{}

static struct dentry *erofs_fh_to_parent(struct super_block *sb,
		struct fid *fid, int fh_len, int fh_type)
{}

static struct dentry *erofs_get_parent(struct dentry *child)
{}

static const struct export_operations erofs_export_ops =;

static void erofs_set_sysfs_name(struct super_block *sb)
{}

static int erofs_fc_fill_super(struct super_block *sb, struct fs_context *fc)
{}

static int erofs_fc_get_tree(struct fs_context *fc)
{}

static int erofs_fc_reconfigure(struct fs_context *fc)
{}

static int erofs_release_device_info(int id, void *ptr, void *data)
{}

static void erofs_free_dev_context(struct erofs_dev_context *devs)
{}

static void erofs_fc_free(struct fs_context *fc)
{}

static const struct fs_context_operations erofs_context_ops =;

static int erofs_init_fs_context(struct fs_context *fc)
{}

static void erofs_kill_sb(struct super_block *sb)
{}

static void erofs_put_super(struct super_block *sb)
{}

static struct file_system_type erofs_fs_type =;
MODULE_ALIAS_FS();

static int __init erofs_module_init(void)
{}

static void __exit erofs_module_exit(void)
{}

static int erofs_statfs(struct dentry *dentry, struct kstatfs *buf)
{}

static int erofs_show_options(struct seq_file *seq, struct dentry *root)
{}

const struct super_operations erofs_sops =;

module_init();
module_exit(erofs_module_exit);

MODULE_DESCRIPTION();
MODULE_AUTHOR();
MODULE_LICENSE();