summaryrefslogtreecommitdiffstats
path: root/fs/xfs/scrub/dabtree.c
diff options
context:
space:
mode:
authorDarrick J. Wong <darrick.wong@oracle.com>2017-10-31 20:10:02 +0100
committerDarrick J. Wong <darrick.wong@oracle.com>2017-11-01 23:03:16 +0100
commit13791d3b833428e7dc7253e066eef8cae75cd1c0 (patch)
tree3600246c9c4168c342ec2c7917e99370594f4611 /fs/xfs/scrub/dabtree.c
parentxfs: move error injection tags into their own file (diff)
downloadlinux-13791d3b833428e7dc7253e066eef8cae75cd1c0.tar.xz
linux-13791d3b833428e7dc7253e066eef8cae75cd1c0.zip
xfs: scrub extended attribute leaf space
As we walk the attribute btree, explicitly check the structure of the attribute leaves to make sure the pointers make sense and the freemap is sensible. Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com> Reviewed-by: Dave Chinner <dchinner@redhat.com>
Diffstat (limited to 'fs/xfs/scrub/dabtree.c')
-rw-r--r--fs/xfs/scrub/dabtree.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/fs/xfs/scrub/dabtree.c b/fs/xfs/scrub/dabtree.c
index 4a93cf1753d3..c21c52812e57 100644
--- a/fs/xfs/scrub/dabtree.c
+++ b/fs/xfs/scrub/dabtree.c
@@ -467,7 +467,8 @@ int
xfs_scrub_da_btree(
struct xfs_scrub_context *sc,
int whichfork,
- xfs_scrub_da_btree_rec_fn scrub_fn)
+ xfs_scrub_da_btree_rec_fn scrub_fn,
+ void *private)
{
struct xfs_scrub_da_btree ds = {};
struct xfs_mount *mp = sc->mp;
@@ -492,6 +493,7 @@ xfs_scrub_da_btree(
ds.state->args = &ds.dargs;
ds.state->mp = mp;
ds.sc = sc;
+ ds.private = private;
if (whichfork == XFS_ATTR_FORK) {
ds.dargs.geo = mp->m_attr_geo;
ds.lowest = 0;