Loading fs/xfs/Makefile +1 −0 Original line number Diff line number Diff line Loading @@ -156,5 +156,6 @@ xfs-y += $(addprefix scrub/, \ refcount.o \ rmap.o \ scrub.o \ symlink.o \ ) endif fs/xfs/libxfs/xfs_fs.h +2 −1 Original line number Diff line number Diff line Loading @@ -500,9 +500,10 @@ struct xfs_scrub_metadata { #define XFS_SCRUB_TYPE_BMBTC 14 /* CoW fork block mapping */ #define XFS_SCRUB_TYPE_DIR 15 /* directory */ #define XFS_SCRUB_TYPE_XATTR 16 /* extended attribute */ #define XFS_SCRUB_TYPE_SYMLINK 17 /* symbolic link */ /* Number of scrub subcommands. */ #define XFS_SCRUB_TYPE_NR 17 #define XFS_SCRUB_TYPE_NR 18 /* i: Repair this metadata. */ #define XFS_SCRUB_IFLAG_REPAIR (1 << 0) Loading fs/xfs/scrub/common.h +2 −0 Original line number Diff line number Diff line Loading @@ -97,6 +97,8 @@ int xfs_scrub_setup_directory(struct xfs_scrub_context *sc, struct xfs_inode *ip); int xfs_scrub_setup_xattr(struct xfs_scrub_context *sc, struct xfs_inode *ip); int xfs_scrub_setup_symlink(struct xfs_scrub_context *sc, struct xfs_inode *ip); void xfs_scrub_ag_free(struct xfs_scrub_context *sc, struct xfs_scrub_ag *sa); int xfs_scrub_ag_init(struct xfs_scrub_context *sc, xfs_agnumber_t agno, Loading fs/xfs/scrub/scrub.c +4 −0 Original line number Diff line number Diff line Loading @@ -239,6 +239,10 @@ static const struct xfs_scrub_meta_ops meta_scrub_ops[] = { .setup = xfs_scrub_setup_xattr, .scrub = xfs_scrub_xattr, }, { /* symbolic link */ .setup = xfs_scrub_setup_symlink, .scrub = xfs_scrub_symlink, }, }; /* This isn't a stable feature, warn once per day. */ Loading fs/xfs/scrub/scrub.h +1 −0 Original line number Diff line number Diff line Loading @@ -85,5 +85,6 @@ int xfs_scrub_bmap_attr(struct xfs_scrub_context *sc); int xfs_scrub_bmap_cow(struct xfs_scrub_context *sc); int xfs_scrub_directory(struct xfs_scrub_context *sc); int xfs_scrub_xattr(struct xfs_scrub_context *sc); int xfs_scrub_symlink(struct xfs_scrub_context *sc); #endif /* __XFS_SCRUB_SCRUB_H__ */ Loading
fs/xfs/Makefile +1 −0 Original line number Diff line number Diff line Loading @@ -156,5 +156,6 @@ xfs-y += $(addprefix scrub/, \ refcount.o \ rmap.o \ scrub.o \ symlink.o \ ) endif
fs/xfs/libxfs/xfs_fs.h +2 −1 Original line number Diff line number Diff line Loading @@ -500,9 +500,10 @@ struct xfs_scrub_metadata { #define XFS_SCRUB_TYPE_BMBTC 14 /* CoW fork block mapping */ #define XFS_SCRUB_TYPE_DIR 15 /* directory */ #define XFS_SCRUB_TYPE_XATTR 16 /* extended attribute */ #define XFS_SCRUB_TYPE_SYMLINK 17 /* symbolic link */ /* Number of scrub subcommands. */ #define XFS_SCRUB_TYPE_NR 17 #define XFS_SCRUB_TYPE_NR 18 /* i: Repair this metadata. */ #define XFS_SCRUB_IFLAG_REPAIR (1 << 0) Loading
fs/xfs/scrub/common.h +2 −0 Original line number Diff line number Diff line Loading @@ -97,6 +97,8 @@ int xfs_scrub_setup_directory(struct xfs_scrub_context *sc, struct xfs_inode *ip); int xfs_scrub_setup_xattr(struct xfs_scrub_context *sc, struct xfs_inode *ip); int xfs_scrub_setup_symlink(struct xfs_scrub_context *sc, struct xfs_inode *ip); void xfs_scrub_ag_free(struct xfs_scrub_context *sc, struct xfs_scrub_ag *sa); int xfs_scrub_ag_init(struct xfs_scrub_context *sc, xfs_agnumber_t agno, Loading
fs/xfs/scrub/scrub.c +4 −0 Original line number Diff line number Diff line Loading @@ -239,6 +239,10 @@ static const struct xfs_scrub_meta_ops meta_scrub_ops[] = { .setup = xfs_scrub_setup_xattr, .scrub = xfs_scrub_xattr, }, { /* symbolic link */ .setup = xfs_scrub_setup_symlink, .scrub = xfs_scrub_symlink, }, }; /* This isn't a stable feature, warn once per day. */ Loading
fs/xfs/scrub/scrub.h +1 −0 Original line number Diff line number Diff line Loading @@ -85,5 +85,6 @@ int xfs_scrub_bmap_attr(struct xfs_scrub_context *sc); int xfs_scrub_bmap_cow(struct xfs_scrub_context *sc); int xfs_scrub_directory(struct xfs_scrub_context *sc); int xfs_scrub_xattr(struct xfs_scrub_context *sc); int xfs_scrub_symlink(struct xfs_scrub_context *sc); #endif /* __XFS_SCRUB_SCRUB_H__ */