#include <linux/fs.h>
#include <linux/seq_file.h>
#include <linux/blkdev.h>
#include "zonefs.h"
struct zonefs_sysfs_attr { … };
#define ZONEFS_SYSFS_ATTR_RO(name) …
#define ATTR_LIST(name) …
static ssize_t zonefs_sysfs_attr_show(struct kobject *kobj,
struct attribute *attr, char *buf)
{ … }
static ssize_t max_wro_seq_files_show(struct zonefs_sb_info *sbi, char *buf)
{ … }
ZONEFS_SYSFS_ATTR_RO(…);
static ssize_t nr_wro_seq_files_show(struct zonefs_sb_info *sbi, char *buf)
{ … }
ZONEFS_SYSFS_ATTR_RO(…);
static ssize_t max_active_seq_files_show(struct zonefs_sb_info *sbi, char *buf)
{ … }
ZONEFS_SYSFS_ATTR_RO(…);
static ssize_t nr_active_seq_files_show(struct zonefs_sb_info *sbi, char *buf)
{ … }
ZONEFS_SYSFS_ATTR_RO(…);
static struct attribute *zonefs_sysfs_attrs[] = …;
ATTRIBUTE_GROUPS(…);
static void zonefs_sysfs_sb_release(struct kobject *kobj)
{ … }
static const struct sysfs_ops zonefs_sysfs_attr_ops = …;
static const struct kobj_type zonefs_sb_ktype = …;
static struct kobject *zonefs_sysfs_root;
int zonefs_sysfs_register(struct super_block *sb)
{ … }
void zonefs_sysfs_unregister(struct super_block *sb)
{ … }
int __init zonefs_sysfs_init(void)
{ … }
void zonefs_sysfs_exit(void)
{ … }