#ifndef __XFS_HEALTH_H__
#define __XFS_HEALTH_H__
struct xfs_mount;
struct xfs_perag;
struct xfs_inode;
struct xfs_fsop_geom;
struct xfs_btree_cur;
struct xfs_da_args;
#define XFS_SICK_FS_COUNTERS …
#define XFS_SICK_FS_UQUOTA …
#define XFS_SICK_FS_GQUOTA …
#define XFS_SICK_FS_PQUOTA …
#define XFS_SICK_FS_QUOTACHECK …
#define XFS_SICK_FS_NLINKS …
#define XFS_SICK_RT_BITMAP …
#define XFS_SICK_RT_SUMMARY …
#define XFS_SICK_AG_SB …
#define XFS_SICK_AG_AGF …
#define XFS_SICK_AG_AGFL …
#define XFS_SICK_AG_AGI …
#define XFS_SICK_AG_BNOBT …
#define XFS_SICK_AG_CNTBT …
#define XFS_SICK_AG_INOBT …
#define XFS_SICK_AG_FINOBT …
#define XFS_SICK_AG_RMAPBT …
#define XFS_SICK_AG_REFCNTBT …
#define XFS_SICK_AG_INODES …
#define XFS_SICK_INO_CORE …
#define XFS_SICK_INO_BMBTD …
#define XFS_SICK_INO_BMBTA …
#define XFS_SICK_INO_BMBTC …
#define XFS_SICK_INO_DIR …
#define XFS_SICK_INO_XATTR …
#define XFS_SICK_INO_SYMLINK …
#define XFS_SICK_INO_PARENT …
#define XFS_SICK_INO_BMBTD_ZAPPED …
#define XFS_SICK_INO_BMBTA_ZAPPED …
#define XFS_SICK_INO_DIR_ZAPPED …
#define XFS_SICK_INO_SYMLINK_ZAPPED …
#define XFS_SICK_INO_FORGET …
#define XFS_SICK_INO_DIRTREE …
#define XFS_SICK_FS_PRIMARY …
#define XFS_SICK_RT_PRIMARY …
#define XFS_SICK_AG_PRIMARY …
#define XFS_SICK_INO_PRIMARY …
#define XFS_SICK_INO_ZAPPED …
#define XFS_SICK_FS_SECONDARY …
#define XFS_SICK_RT_SECONDARY …
#define XFS_SICK_AG_SECONDARY …
#define XFS_SICK_INO_SECONDARY …
#define XFS_SICK_FS_INDIRECT …
#define XFS_SICK_RT_INDIRECT …
#define XFS_SICK_AG_INDIRECT …
#define XFS_SICK_INO_INDIRECT …
#define XFS_SICK_FS_ALL …
#define XFS_SICK_RT_ALL …
#define XFS_SICK_AG_ALL …
#define XFS_SICK_INO_ALL …
void xfs_fs_mark_sick(struct xfs_mount *mp, unsigned int mask);
void xfs_fs_mark_corrupt(struct xfs_mount *mp, unsigned int mask);
void xfs_fs_mark_healthy(struct xfs_mount *mp, unsigned int mask);
void xfs_fs_measure_sickness(struct xfs_mount *mp, unsigned int *sick,
unsigned int *checked);
void xfs_rt_mark_sick(struct xfs_mount *mp, unsigned int mask);
void xfs_rt_mark_corrupt(struct xfs_mount *mp, unsigned int mask);
void xfs_rt_mark_healthy(struct xfs_mount *mp, unsigned int mask);
void xfs_rt_measure_sickness(struct xfs_mount *mp, unsigned int *sick,
unsigned int *checked);
void xfs_agno_mark_sick(struct xfs_mount *mp, xfs_agnumber_t agno,
unsigned int mask);
void xfs_ag_mark_sick(struct xfs_perag *pag, unsigned int mask);
void xfs_ag_mark_corrupt(struct xfs_perag *pag, unsigned int mask);
void xfs_ag_mark_healthy(struct xfs_perag *pag, unsigned int mask);
void xfs_ag_measure_sickness(struct xfs_perag *pag, unsigned int *sick,
unsigned int *checked);
void xfs_inode_mark_sick(struct xfs_inode *ip, unsigned int mask);
void xfs_inode_mark_corrupt(struct xfs_inode *ip, unsigned int mask);
void xfs_inode_mark_healthy(struct xfs_inode *ip, unsigned int mask);
void xfs_inode_measure_sickness(struct xfs_inode *ip, unsigned int *sick,
unsigned int *checked);
void xfs_health_unmount(struct xfs_mount *mp);
void xfs_bmap_mark_sick(struct xfs_inode *ip, int whichfork);
void xfs_btree_mark_sick(struct xfs_btree_cur *cur);
void xfs_dirattr_mark_sick(struct xfs_inode *ip, int whichfork);
void xfs_da_mark_sick(struct xfs_da_args *args);
static inline bool
xfs_fs_has_sickness(struct xfs_mount *mp, unsigned int mask)
{ … }
static inline bool
xfs_rt_has_sickness(struct xfs_mount *mp, unsigned int mask)
{ … }
static inline bool
xfs_ag_has_sickness(struct xfs_perag *pag, unsigned int mask)
{ … }
static inline bool
xfs_inode_has_sickness(struct xfs_inode *ip, unsigned int mask)
{ … }
static inline bool
xfs_fs_is_healthy(struct xfs_mount *mp)
{ … }
static inline bool
xfs_rt_is_healthy(struct xfs_mount *mp)
{ … }
static inline bool
xfs_ag_is_healthy(struct xfs_perag *pag)
{ … }
static inline bool
xfs_inode_is_healthy(struct xfs_inode *ip)
{ … }
void xfs_fsop_geom_health(struct xfs_mount *mp, struct xfs_fsop_geom *geo);
void xfs_ag_geom_health(struct xfs_perag *pag, struct xfs_ag_geometry *ageo);
void xfs_bulkstat_health(struct xfs_inode *ip, struct xfs_bulkstat *bs);
#define xfs_metadata_is_sick(error) …
#endif