linux/fs/ext4/sysfs.c

// SPDX-License-Identifier: GPL-2.0
/*
 *  linux/fs/ext4/sysfs.c
 *
 * Copyright (C) 1992, 1993, 1994, 1995
 * Remy Card ([email protected])
 * Theodore Ts'o ([email protected])
 *
 */

#include <linux/time.h>
#include <linux/fs.h>
#include <linux/seq_file.h>
#include <linux/slab.h>
#include <linux/proc_fs.h>
#include <linux/part_stat.h>

#include "ext4.h"
#include "ext4_jbd2.h"

attr_id_t;

attr_ptr_t;

static const char proc_dirname[] =;
static struct proc_dir_entry *ext4_proc_root;

struct ext4_attr {};

static ssize_t session_write_kbytes_show(struct ext4_sb_info *sbi, char *buf)
{}

static ssize_t lifetime_write_kbytes_show(struct ext4_sb_info *sbi, char *buf)
{}

static ssize_t inode_readahead_blks_store(struct ext4_sb_info *sbi,
					  const char *buf, size_t count)
{}

static ssize_t reserved_clusters_store(struct ext4_sb_info *sbi,
				   const char *buf, size_t count)
{}

static ssize_t trigger_test_error(struct ext4_sb_info *sbi,
				  const char *buf, size_t count)
{}

static ssize_t journal_task_show(struct ext4_sb_info *sbi, char *buf)
{}

#define EXT4_ATTR(_name,_mode,_id)

#define EXT4_ATTR_FUNC(_name,_mode)

#define EXT4_ATTR_FEATURE(_name)

#define EXT4_ATTR_OFFSET(_name,_mode,_id,_struct,_elname)

#define EXT4_ATTR_STRING(_name,_mode,_size,_struct,_elname)

#define EXT4_RO_ATTR_ES_UI(_name,_elname)

#define EXT4_RO_ATTR_ES_U8(_name,_elname)

#define EXT4_RO_ATTR_ES_U64(_name,_elname)

#define EXT4_RO_ATTR_ES_STRING(_name,_elname,_size)

#define EXT4_RW_ATTR_SBI_PI(_name,_elname)

#define EXT4_RW_ATTR_SBI_UI(_name,_elname)

#define EXT4_RW_ATTR_SBI_UL(_name,_elname)

#define EXT4_RO_ATTR_SBI_ATOMIC(_name,_elname)

#define EXT4_ATTR_PTR(_name,_mode,_id,_ptr)

#define ATTR_LIST(name)

EXT4_ATTR_FUNC();
EXT4_ATTR_FUNC();
EXT4_ATTR_FUNC();
EXT4_ATTR_FUNC();
EXT4_ATTR_FUNC();

EXT4_ATTR_OFFSET();
EXT4_ATTR_OFFSET();
EXT4_ATTR_OFFSET();
EXT4_RW_ATTR_SBI_UI();
EXT4_RW_ATTR_SBI_UI();
EXT4_RW_ATTR_SBI_UI();
EXT4_RW_ATTR_SBI_UI();
EXT4_RW_ATTR_SBI_UI();
EXT4_RW_ATTR_SBI_UI();
EXT4_RW_ATTR_SBI_UI();
EXT4_RW_ATTR_SBI_UI();
EXT4_ATTR();
EXT4_RW_ATTR_SBI_PI();
EXT4_RW_ATTR_SBI_PI();
EXT4_RW_ATTR_SBI_PI();
EXT4_RW_ATTR_SBI_PI();
EXT4_RW_ATTR_SBI_PI();
EXT4_RW_ATTR_SBI_PI();
#ifdef CONFIG_EXT4_DEBUG
EXT4_RW_ATTR_SBI_UL();
#endif
EXT4_RO_ATTR_SBI_ATOMIC();
EXT4_RO_ATTR_SBI_ATOMIC();
EXT4_RO_ATTR_ES_UI();
EXT4_RO_ATTR_ES_U8();
EXT4_RO_ATTR_ES_U8();
EXT4_RO_ATTR_ES_UI();
EXT4_RO_ATTR_ES_UI();
EXT4_RO_ATTR_ES_U64();
EXT4_RO_ATTR_ES_U64();
EXT4_RO_ATTR_ES_UI();
EXT4_RO_ATTR_ES_UI();
EXT4_RO_ATTR_ES_STRING();
EXT4_RO_ATTR_ES_STRING();
EXT4_ATTR();
EXT4_ATTR();
EXT4_ATTR();
EXT4_RW_ATTR_SBI_UI();
EXT4_RW_ATTR_SBI_UI();
EXT4_RW_ATTR_SBI_UL();

static unsigned int old_bump_val =;
EXT4_ATTR_PTR();

static struct attribute *ext4_attrs[] =;
ATTRIBUTE_GROUPS();

/* Features this copy of ext4 supports */
EXT4_ATTR_FEATURE();
EXT4_ATTR_FEATURE();
EXT4_ATTR_FEATURE();
#ifdef CONFIG_FS_ENCRYPTION
EXT4_ATTR_FEATURE();
EXT4_ATTR_FEATURE();
#endif
#if IS_ENABLED(CONFIG_UNICODE)
EXT4_ATTR_FEATURE();
#endif
#ifdef CONFIG_FS_VERITY
EXT4_ATTR_FEATURE();
#endif
EXT4_ATTR_FEATURE();
EXT4_ATTR_FEATURE();
#if IS_ENABLED(CONFIG_UNICODE) && defined(CONFIG_FS_ENCRYPTION)
EXT4_ATTR_FEATURE();
#endif

static struct attribute *ext4_feat_attrs[] =;
ATTRIBUTE_GROUPS();

static void *calc_ptr(struct ext4_attr *a, struct ext4_sb_info *sbi)
{}

static ssize_t __print_tstamp(char *buf, __le32 lo, __u8 hi)
{}

#define print_tstamp(buf, es, tstamp)

static ssize_t ext4_generic_attr_show(struct ext4_attr *a,
				      struct ext4_sb_info *sbi, char *buf)
{}

static ssize_t ext4_attr_show(struct kobject *kobj,
			      struct attribute *attr, char *buf)
{}

static ssize_t ext4_generic_attr_store(struct ext4_attr *a,
				       struct ext4_sb_info *sbi,
				       const char *buf, size_t len)
{}

static ssize_t ext4_attr_store(struct kobject *kobj,
			       struct attribute *attr,
			       const char *buf, size_t len)
{}

static void ext4_sb_release(struct kobject *kobj)
{}

static void ext4_feat_release(struct kobject *kobj)
{}

static const struct sysfs_ops ext4_attr_ops =;

static const struct kobj_type ext4_sb_ktype =;

static const struct kobj_type ext4_feat_ktype =;

void ext4_notify_error_sysfs(struct ext4_sb_info *sbi)
{}

static struct kobject *ext4_root;

static struct kobject *ext4_feat;

int ext4_register_sysfs(struct super_block *sb)
{}

void ext4_unregister_sysfs(struct super_block *sb)
{}

int __init ext4_init_sysfs(void)
{}

void ext4_exit_sysfs(void)
{}