#ifndef __ZONEFS_H__
#define __ZONEFS_H__
#include <linux/fs.h>
#include <linux/magic.h>
#include <linux/uuid.h>
#include <linux/mutex.h>
#include <linux/rwsem.h>
#include <linux/kobject.h>
#define ZONEFS_NAME_MAX …
enum zonefs_ztype { … };
static inline enum zonefs_ztype zonefs_zone_type(struct blk_zone *zone)
{ … }
#define ZONEFS_ZONE_INIT_MODE …
#define ZONEFS_ZONE_OPEN …
#define ZONEFS_ZONE_ACTIVE …
#define ZONEFS_ZONE_OFFLINE …
#define ZONEFS_ZONE_READONLY …
#define ZONEFS_ZONE_CNV …
struct zonefs_zone { … };
struct zonefs_zone_group { … };
struct zonefs_inode_info { … };
static inline struct zonefs_inode_info *ZONEFS_I(struct inode *inode)
{ … }
static inline bool zonefs_zone_is_cnv(struct zonefs_zone *z)
{ … }
static inline bool zonefs_zone_is_seq(struct zonefs_zone *z)
{ … }
static inline struct zonefs_zone *zonefs_inode_zone(struct inode *inode)
{ … }
static inline bool zonefs_inode_is_cnv(struct inode *inode)
{ … }
static inline bool zonefs_inode_is_seq(struct inode *inode)
{ … }
#define ZONEFS_LABEL_LEN …
#define ZONEFS_UUID_SIZE …
#define ZONEFS_SUPER_SIZE …
struct zonefs_super { … } __packed;
enum zonefs_features { … };
#define ZONEFS_F_DEFINED_FEATURES …
#define ZONEFS_MNTOPT_ERRORS_RO …
#define ZONEFS_MNTOPT_ERRORS_ZRO …
#define ZONEFS_MNTOPT_ERRORS_ZOL …
#define ZONEFS_MNTOPT_ERRORS_REPAIR …
#define ZONEFS_MNTOPT_ERRORS_MASK …
#define ZONEFS_MNTOPT_EXPLICIT_OPEN …
struct zonefs_sb_info { … };
static inline struct zonefs_sb_info *ZONEFS_SB(struct super_block *sb)
{ … }
#define zonefs_info(sb, format, args...) …
#define zonefs_err(sb, format, args...) …
#define zonefs_warn(sb, format, args...) …
void zonefs_inode_account_active(struct inode *inode);
int zonefs_inode_zone_mgmt(struct inode *inode, enum req_op op);
void zonefs_i_size_write(struct inode *inode, loff_t isize);
void zonefs_update_stats(struct inode *inode, loff_t new_isize);
void __zonefs_io_error(struct inode *inode, bool write);
static inline void zonefs_io_error(struct inode *inode, bool write)
{ … }
extern const struct inode_operations zonefs_dir_inode_operations;
extern const struct file_operations zonefs_dir_operations;
extern const struct address_space_operations zonefs_file_aops;
extern const struct file_operations zonefs_file_operations;
int zonefs_file_truncate(struct inode *inode, loff_t isize);
int zonefs_sysfs_register(struct super_block *sb);
void zonefs_sysfs_unregister(struct super_block *sb);
int zonefs_sysfs_init(void);
void zonefs_sysfs_exit(void);
#endif