| To: | david@xxxxxxxxxxxxx, darrick.wong@xxxxxxxxxx |
|---|---|
| Subject: | [PATCH 22/29] xfs_repair: pass private data pointer to scan_lbtree |
| From: | "Darrick J. Wong" <darrick.wong@xxxxxxxxxx> |
| Date: | Thu, 25 Aug 2016 17:00:57 -0700 |
| Cc: | linux-xfs@xxxxxxxxxxxxxxx, xfs@xxxxxxxxxxx |
| Delivered-to: | xfs@xxxxxxxxxxx |
| In-reply-to: | <147216950911.7022.438115723996286926.stgit@xxxxxxxxxxxxxxxx> |
| References: | <147216950911.7022.438115723996286926.stgit@xxxxxxxxxxxxxxxx> |
| User-agent: | StGit/0.17.1-dirty |
Pass a private data pointer through scan_lbtree. We'll use this
later when scanning the rtrmapbt to keep track of scan state.
Signed-off-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx>
---
repair/dinode.c | 2 +-
repair/scan.c | 11 +++++++----
repair/scan.h | 7 +++++--
3 files changed, 13 insertions(+), 7 deletions(-)
diff --git a/repair/dinode.c b/repair/dinode.c
index 11b60ce..843c465 100644
--- a/repair/dinode.c
+++ b/repair/dinode.c
@@ -1007,7 +1007,7 @@ _("bad bmap btree ptr 0x%" PRIx64 " in ino %" PRIu64
"\n"),
if (scan_lbtree(get_unaligned_be64(&pp[i]), level, scan_bmapbt,
type, whichfork, lino, tot, nex, blkmapp,
- &cursor, 1, check_dups, magic,
+ &cursor, 1, check_dups, magic, NULL,
&xfs_bmbt_buf_ops))
return(1);
/*
diff --git a/repair/scan.c b/repair/scan.c
index f4d6f89..8935be7 100644
--- a/repair/scan.c
+++ b/repair/scan.c
@@ -116,7 +116,8 @@ scan_lbtree(
int isroot,
int check_dups,
int *dirty,
- __uint64_t magic),
+ __uint64_t magic,
+ void *priv),
int type,
int whichfork,
xfs_ino_t ino,
@@ -127,6 +128,7 @@ scan_lbtree(
int isroot,
int check_dups,
__uint64_t magic,
+ void *priv,
const struct xfs_buf_ops *ops)
{
xfs_buf_t *bp;
@@ -158,7 +160,7 @@ scan_lbtree(
err = (*func)(XFS_BUF_TO_BLOCK(bp), nlevels - 1,
type, whichfork, root, ino, tot, nex, blkmapp,
bm_cursor, isroot, check_dups, &dirty,
- magic);
+ magic, priv);
ASSERT(dirty == 0 || (dirty && !no_modify));
@@ -185,7 +187,8 @@ scan_bmapbt(
int isroot,
int check_dups,
int *dirty,
- __uint64_t magic)
+ __uint64_t magic,
+ void *priv)
{
int i;
int err;
@@ -469,7 +472,7 @@ _("bad bmap btree ptr 0x%llx in ino %" PRIu64 "\n"),
err = scan_lbtree(be64_to_cpu(pp[i]), level, scan_bmapbt,
type, whichfork, ino, tot, nex, blkmapp,
- bm_cursor, 0, check_dups, magic,
+ bm_cursor, 0, check_dups, magic, priv,
&xfs_bmbt_buf_ops);
if (err)
return(1);
diff --git a/repair/scan.h b/repair/scan.h
index ea8c0bf..854897c 100644
--- a/repair/scan.h
+++ b/repair/scan.h
@@ -36,7 +36,8 @@ int scan_lbtree(
int isroot,
int check_dups,
int *dirty,
- __uint64_t magic),
+ __uint64_t magic,
+ void *priv),
int type,
int whichfork,
xfs_ino_t ino,
@@ -47,6 +48,7 @@ int scan_lbtree(
int isroot,
int check_dups,
__uint64_t magic,
+ void *priv,
const struct xfs_buf_ops *ops);
int scan_bmapbt(
@@ -63,7 +65,8 @@ int scan_bmapbt(
int isroot,
int check_dups,
int *dirty,
- __uint64_t magic);
+ __uint64_t magic,
+ void *priv);
void
scan_ags(
|
| Previous by Date: | [PATCH 21/29] xfs_repair: factor rrmapino into superblock size calculations, Darrick J. Wong |
|---|---|
| Next by Date: | [PATCH 23/29] xfs_repair: use realtime rmap btree data to check block types, Darrick J. Wong |
| Previous by Thread: | [PATCH 21/29] xfs_repair: factor rrmapino into superblock size calculations, Darrick J. Wong |
| Next by Thread: | [PATCH 23/29] xfs_repair: use realtime rmap btree data to check block types, Darrick J. Wong |
| Indexes: | [Date] [Thread] [Top] [All Lists] |