xfs-4.19: fixes & cleanups
cover xfs-4.19: fixes & cleanups
Hi all,
Here's a series of bugfixes and cleanups for 4.19.
The first patch enhances the extended attribute leaf block checks to sanitize the freemap. This is essential to prevent asserts on totally garbage freemap info from taking the fs down during an xattr update.
The second patch ensures that we always return from xfs_defer_finish with a clean transaction so that any new work added to the transaction after that does not overflow the reservation.
The next two patches clean up xfs_btree_del_cursor usage. Callers can pass negative error numbers into the function to signal a full btree cursor buffer cleanup so they do not need to use ternary expressions to select XFS_BTREE_{NO,}ERROR.
The four patches after that shorten name prefixes in the online fsck code. The xfs_scrub_* functions are shortened to xchk_*; the xfs_repair_* functions become xrep_*; struct xfs_scrub_context becomes struct xfs_scrub; and the final patch of the series cleans up all the whitespace and indenting problems. That last patch I did by hand; the first three were mechanical changes with simple sed scripts.
Comments and questions are, as always, welcome.
--D
PATCH 1/8 xfs: check leaf attribute block freemap in verifier
From: Darrick J. Wong <[email protected]>
Check the leaf attribute freemap when we we're verifying the block.
--- fs/xfs/libxfs/xfs_attr_leaf.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+)
fs/xfs/libxfs/xfs_attr_leaf.c +18 -0
@@ -244,6 +244,8 @@ xfs_attr3_leaf_verify(struct xfs_attr_leafblock *leaf = bp->b_addr;struct xfs_perag *pag = bp->b_pag;struct xfs_attr_leaf_entry *entries; +uint16_t end; +int i;xfs_attr3_leaf_hdr_from_disk (mp->m_attr_geo, &ichdr, leaf);
@@ -289,6 +291,22 @@ xfs_attr3_leaf_verify(/* XXX: need to range check rest of attr header values */ /* XXX: hash order check? */ +for (i =0 ; i <XFS_ATTR_LEAF_MAPSIZE ; i++) { +if (ichdr.freemap[i].base > mp->m_attr_geo->blksize) +return __this_address; +if (ichdr.freemap[i].base &0x3 ) +return __this_address; +if (ichdr.freemap[i].size > mp->m_attr_geo->blksize) +return __this_address; +if (ichdr.freemap[i].size &0x3 ) +return __this_address; + end = ichdr.freemap[i].base + ichdr.freemap[i].size; +if (end < ichdr.freemap[i].base) +return __this_address; +if (end > mp->m_attr_geo->blksize) +return __this_address; + } +return NULL ; }
Re: [PATCH 1/8] xfs: check leaf attribute block freemap in verifier
Quoted 25 lines · Darrick J. Wong
From: Darrick J. Wong <[email protected]>
Check the leaf attribute freemap when we we're verifying the block.
Signed-off-by Darrick J. Wong <[email protected]>--- fs/xfs/libxfs/xfs_attr_leaf.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+)fs/xfs/libxfs/xfs_attr_leaf.c +2
-0@@ -244,6 +244,8 @@ xfs_attr3_leaf_verify(struct xfs_attr_leafblock *leaf = bp->b_addr;struct xfs_perag *pag = bp->b_pag;struct xfs_attr_leaf_entry *entries; +uint16_t end; +int i;xfs_attr3_leaf_hdr_from_disk (mp->m_attr_geo, &ichdr, leaf);@@ -289,6 +291,22 @@ xfs_attr3_leaf_verify(/* XXX: need to range check rest of attr header values */
fs/xfs/libxfs/xfs_attr_leaf.c xfs_attr3_leaf_verify( · line 301
Quoted 10 lines
fs/xfs/libxfs/xfs_attr_leaf.c +8
-0/* XXX: hash order check? */ +for (i =0 ; i <XFS_ATTR_LEAF_MAPSIZE ; i++) { +if (ichdr.freemap[i].base > mp->m_attr_geo->blksize) +return __this_address; +if (ichdr.freemap[i].base &0x3 ) +return __this_address; +if (ichdr.freemap[i].size > mp->m_attr_geo->blksize) +return __this_address; +if (ichdr.freemap[i].size &0x3 )
What does 0x3 means here? This looks ok for me, giving the fact we have these 0x3 checks for base and size for decades, but out of curiosity, what they are supposed to mean? :P
Other than that, you can add:
Quoted 16 lines
fs/xfs/libxfs/xfs_attr_leaf.c +8
-1+return __this_address; + end = ichdr.freemap[i].base + ichdr.freemap[i].size; +if (end < ichdr.freemap[i].base) +return __this_address; +if (end > mp->m_attr_geo->blksize) +return __this_address; + } +return NULL ; } --To unsubscribe from this list: send the line "unsubscribe linux-xfs" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Signature · 1 line
Carlos
Re: [PATCH 1/8] xfs: check leaf attribute block freemap in verifier
In reply to Darrick J. WongQuoted 4 lines · Darrick J. Wong
From: Darrick J. Wong <[email protected]>
Check the leaf attribute freemap when we we're verifying the block.
s/we//
Quoted 20 lines
Signed-off-by Darrick J. Wong <[email protected]>--- fs/xfs/libxfs/xfs_attr_leaf.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+)fs/xfs/libxfs/xfs_attr_leaf.c +2
-0@@ -244,6 +244,8 @@ xfs_attr3_leaf_verify(struct xfs_attr_leafblock *leaf = bp->b_addr;struct xfs_perag *pag = bp->b_pag;struct xfs_attr_leaf_entry *entries; +uint16_t end; +int i;xfs_attr3_leaf_hdr_from_disk (mp->m_attr_geo, &ichdr, leaf);
fs/xfs/libxfs/xfs_attr_leaf.c xfs_attr3_leaf_verify( · line 298
Quoted 8 lines
fs/xfs/libxfs/xfs_attr_leaf.c +5
-0@@ -289,6 +291,22 @@ xfs_attr3_leaf_verify(/* XXX: need to range check rest of attr header values */ /* XXX: hash order check? */ +for (i =0 ; i <XFS_ATTR_LEAF_MAPSIZE ; i++) { +if (ichdr.freemap[i].base > mp->m_attr_geo->blksize) +return __this_address; +if (ichdr.freemap[i].base &0x3 ) +return __this_address;
Same question as Carlos.. can you elaborate on the 0x3 magic number? (A one-liner comment might be useful).
Brian
Quoted 19 lines
fs/xfs/libxfs/xfs_attr_leaf.c +11
-1+if (ichdr.freemap[i].size > mp->m_attr_geo->blksize) +return __this_address; +if (ichdr.freemap[i].size &0x3 ) +return __this_address; + end = ichdr.freemap[i].base + ichdr.freemap[i].size; +if (end < ichdr.freemap[i].base) +return __this_address; +if (end > mp->m_attr_geo->blksize) +return __this_address; + } +return NULL ; } --To unsubscribe from this list: send the line "unsubscribe linux-xfs" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 1/8] xfs: check leaf attribute block freemap in verifier
Quoted 7 lines · Brian Foster
Quoted 4 lines · Darrick J. Wong
From: Darrick J. Wong <[email protected]>
Check the leaf attribute freemap when we we're verifying the block.
s/we//
Fixed.
Quoted 23 lines
Quoted 23 lines
Signed-off-by Darrick J. Wong <[email protected]>--- fs/xfs/libxfs/xfs_attr_leaf.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+)fs/xfs/libxfs/xfs_attr_leaf.c +2
-0@@ -244,6 +244,8 @@ xfs_attr3_leaf_verify(struct xfs_attr_leafblock *leaf = bp->b_addr;struct xfs_perag *pag = bp->b_pag;struct xfs_attr_leaf_entry *entries; +uint16_t end; +int i;xfs_attr3_leaf_hdr_from_disk (mp->m_attr_geo, &ichdr, leaf);@@ -289,6 +291,22 @@ xfs_attr3_leaf_verify(/* XXX: need to range check rest of attr header values */ /* XXX: hash order check? */
Quoted 8 lines
fs/xfs/libxfs/xfs_attr_leaf.c xfs_attr3_leaf_verify( · line 298
Quoted 5 lines
fs/xfs/libxfs/xfs_attr_leaf.c +5
-0+for (i =0 ; i <XFS_ATTR_LEAF_MAPSIZE ; i++) { +if (ichdr.freemap[i].base > mp->m_attr_geo->blksize) +return __this_address; +if (ichdr.freemap[i].base &0x3 ) +return __this_address;Same question as Carlos.. can you elaborate on the
0x3magic number? (A one-liner comment might be useful).
/* Attribute data must be aligned to a multiple of four bytes. */
--D
Quoted 25 lines
Brian
Quoted 16 lines
fs/xfs/libxfs/xfs_attr_leaf.c +11
-1+if (ichdr.freemap[i].size > mp->m_attr_geo->blksize) +return __this_address; +if (ichdr.freemap[i].size &0x3 ) +return __this_address; + end = ichdr.freemap[i].base + ichdr.freemap[i].size; +if (end < ichdr.freemap[i].base) +return __this_address; +if (end > mp->m_attr_geo->blksize) +return __this_address; + } +return NULL ; } --Quoted 3 lines
To unsubscribe from this list: send the line "unsubscribe linux-xfs" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html--
To unsubscribe from this list: send the line "unsubscribe linux-xfs" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
PATCH v2 1/8 xfs: check leaf attribute block freemap in verifier
In reply to Darrick J. WongFrom: Darrick J. Wong <[email protected]>
Check the leaf attribute freemap when we're verifying the block.
---
v2: add comments about alignment
--- fs/xfs/libxfs/xfs_attr_leaf.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+)
fs/xfs/libxfs/xfs_attr_leaf.c +22 -0
@@ -244,6 +244,8 @@ xfs_attr3_leaf_verify(struct xfs_attr_leafblock *leaf = bp->b_addr;struct xfs_perag *pag = bp->b_pag;struct xfs_attr_leaf_entry *entries; +uint16_t end; +int i;xfs_attr3_leaf_hdr_from_disk (mp->m_attr_geo, &ichdr, leaf);
@@ -289,6 +291,26 @@ xfs_attr3_leaf_verify(/* XXX: need to range check rest of attr header values */ /* XXX: hash order check? */ +/* +* Quickly check the freemap information. Attribute data has to be +* aligned to 4-byte boundaries, and likewise for the free space. +*/ +for (i =0 ; i <XFS_ATTR_LEAF_MAPSIZE ; i++) { +if (ichdr.freemap[i].base > mp->m_attr_geo->blksize) +return __this_address; +if (ichdr.freemap[i].base &0x3 ) +return __this_address; +if (ichdr.freemap[i].size > mp->m_attr_geo->blksize) +return __this_address; +if (ichdr.freemap[i].size &0x3 ) +return __this_address; + end = ichdr.freemap[i].base + ichdr.freemap[i].size; +if (end < ichdr.freemap[i].base) +return __this_address; +if (end > mp->m_attr_geo->blksize) +return __this_address; + } +return NULL ; }
Re: [PATCH v2 1/8] xfs: check leaf attribute block freemap in verifier
Quoted 9 lines · Darrick J. Wong
From: Darrick J. Wong <[email protected]>
Check the leaf attribute freemap when we're verifying the block.
Signed-off-by Darrick J. Wong <[email protected]>Reviewed-by Carlos Maiolino <[email protected]>---
v2: add comments about alignment
---
Quoted 43 lines
fs/xfs/libxfs/xfs_attr_leaf.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+)fs/xfs/libxfs/xfs_attr_leaf.c +22
-0@@ -244,6 +244,8 @@ xfs_attr3_leaf_verify(struct xfs_attr_leafblock *leaf = bp->b_addr;struct xfs_perag *pag = bp->b_pag;struct xfs_attr_leaf_entry *entries; +uint16_t end; +int i;xfs_attr3_leaf_hdr_from_disk (mp->m_attr_geo, &ichdr, leaf);@@ -289,6 +291,26 @@ xfs_attr3_leaf_verify(/* XXX: need to range check rest of attr header values */ /* XXX: hash order check? */ +/* +* Quickly check the freemap information. Attribute data has to be +* aligned to 4-byte boundaries, and likewise for the free space. +*/ +for (i =0 ; i <XFS_ATTR_LEAF_MAPSIZE ; i++) { +if (ichdr.freemap[i].base > mp->m_attr_geo->blksize) +return __this_address; +if (ichdr.freemap[i].base &0x3 ) +return __this_address; +if (ichdr.freemap[i].size > mp->m_attr_geo->blksize) +return __this_address; +if (ichdr.freemap[i].size &0x3 ) +return __this_address; + end = ichdr.freemap[i].base + ichdr.freemap[i].size; +if (end < ichdr.freemap[i].base) +return __this_address; +if (end > mp->m_attr_geo->blksize) +return __this_address; + } +return NULL ; }
Re: [PATCH v2 1/8] xfs: check leaf attribute block freemap in verifier
In reply to Darrick J. WongQuoted 4 lines · Darrick J. Wong
From: Darrick J. Wong <[email protected]>
Check the leaf attribute freemap when we're verifying the block.
Quoted 8 lines
Signed-off-by Darrick J. Wong <[email protected]>Reviewed-by Carlos Maiolino <[email protected]>---
v2: add comments about alignment--- fs/xfs/libxfs/xfs_attr_leaf.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+)
Thanks for the comment and explanation
Quoted 40 lines
fs/xfs/libxfs/xfs_attr_leaf.c +22
-0@@ -244,6 +244,8 @@ xfs_attr3_leaf_verify(struct xfs_attr_leafblock *leaf = bp->b_addr;struct xfs_perag *pag = bp->b_pag;struct xfs_attr_leaf_entry *entries; +uint16_t end; +int i;xfs_attr3_leaf_hdr_from_disk (mp->m_attr_geo, &ichdr, leaf);@@ -289,6 +291,26 @@ xfs_attr3_leaf_verify(/* XXX: need to range check rest of attr header values */ /* XXX: hash order check? */ +/* +* Quickly check the freemap information. Attribute data has to be +* aligned to 4-byte boundaries, and likewise for the free space. +*/ +for (i =0 ; i <XFS_ATTR_LEAF_MAPSIZE ; i++) { +if (ichdr.freemap[i].base > mp->m_attr_geo->blksize) +return __this_address; +if (ichdr.freemap[i].base &0x3 ) +return __this_address; +if (ichdr.freemap[i].size > mp->m_attr_geo->blksize) +return __this_address; +if (ichdr.freemap[i].size &0x3 ) +return __this_address; + end = ichdr.freemap[i].base + ichdr.freemap[i].size; +if (end < ichdr.freemap[i].base) +return __this_address; +if (end > mp->m_attr_geo->blksize) +return __this_address; + } +return NULL ; }
Signature · 1 line
Carlos
Re: [PATCH v2 1/8] xfs: check leaf attribute block freemap in verifier
In reply to Darrick J. WongQuoted 6 lines · Darrick J. Wong
From: Darrick J. Wong <[email protected]>
Check the leaf attribute freemap when we're verifying the block.
Signed-off-by Darrick J. Wong <[email protected]>Reviewed-by Carlos Maiolino <[email protected]>
Looks good,
PATCH 2/8 xfs: return from _defer_finish with a clean transaction
In reply to Darrick J. WongFrom: Darrick J. Wong <[email protected]>
Christoph Hellwig reported seeing the following assertion in generic/051:
XFS: Assertion failed: tp->t_firstblock == NULLFSBLOCK, file: fs/xfs/libxfs5
------------[ cut here ]------------ kernel BUG at fs/xfs/xfs_message.c:102! invalid opcode: 0000 [#1] SMP PTI CPU: 2 PID: 20757 Comm: fsstress Not tainted 4.18.0-rc4+ #3969 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.11.1-1 04/01/4 RIP: 0010:assfail+0x23/0x30 Code: c3 66 0f 1f 44 00 00 48 89 f1 41 89 d0 48 c7 c6 88 e0 8c 82 48 89 fa RSP: 0018:ffff88012dc43c08 EFLAGS: 00010202 RAX: 0000000000000000 RBX: ffff88012dc43ca0 RCX: 0000000000000000 RDX: 00000000ffffffc0 RSI: 000000000000000a RDI: ffffffff828480eb RBP: ffff88012aa92758 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: f000000000000000 R12: 0000000000000000 R13: ffff88012dc43d48 R14: ffff88013092e7e8 R15: 0000000000000014 FS: 00007f8d689b8e80(0000) GS:ffff88013fd00000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007f8d689c7000 CR3: 000000012ba6a000 CR4: 00000000000006e0 Call Trace: xfs_defer_init+0xff/0x160 xfs_reflink_remap_extent+0x31b/0xa00 xfs_reflink_remap_blocks+0xec/0x4a0 xfs_reflink_remap_range+0x3a1/0x650 xfs_file_dedupe_range+0x39/0x50 vfs_dedupe_file_range+0x218/0x260 do_vfs_ioctl+0x262/0x6a0 ? __se_sys_newfstat+0x3c/0x60 ksys_ioctl+0x35/0x60 __x64_sys_ioctl+0x11/0x20 do_syscall_64+0x4b/0x190 entry_SYSCALL_64_after_hwframe+0x49/0xbe
The root cause of the assertion failure is that xfs_defer_finish doesn't roll the transaction after processing all the deferred items. Therefore it returns a dirty transaction to the caller, which leaves the caller at risk of exceeding the transaction reservation if it logs more items.
Brian Foster's patchset to move the defer_ops firstblock into the transaction requires t_firstblock == NULLFSBLOCK upon defer_ops initialization, which is how this was noticed at all.
--- fs/xfs/libxfs/xfs_defer.c | 6 ++++++ 1 file changed, 6 insertions(+)
fs/xfs/libxfs/xfs_defer.c +6 -0
@@ -424,6 +424,12 @@ xfs_defer_finish(cleanup_fn (*tp, state, error); } +/* +* Roll the transaction once more to avoid returning to the caller +* with a dirty transaction. +*/ +if ((*tp)->t_flags &XFS_TRANS_DIRTY ) + error =xfs_defer_trans_roll (tp, dop); out: (*tp)->t_agfl_dfops = orig_dop;if (error)
Re: [PATCH 2/8] xfs: return from _defer_finish with a clean transaction
Quoted 41 lines · Darrick J. Wong
From: Darrick J. Wong <[email protected]>
Christoph Hellwig reported seeing the following assertion in generic/051:
XFS: Assertion failed:
tp->t_firstblock== NULLFSBLOCK, file:fs/xfs/libxfs5------------[ cut here ]------------ kernel BUG at fs/xfs/xfs_message.c:102! invalid opcode: 0000 [#1] SMP PTI CPU: 2 PID: 20757 Comm: fsstress Not tainted 4.18.0-rc4+ #3969 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.11.1-1 04/01/4 RIP: 0010:assfail+0x23/0x30 Code: c3 66 0f 1f 44 00 00 48 89 f1 41 89 d0 48 c7 c6 88 e0 8c 82 48 89 fa RSP: 0018:ffff88012dc43c08 EFLAGS: 00010202 RAX: 0000000000000000 RBX: ffff88012dc43ca0 RCX: 0000000000000000 RDX: 00000000ffffffc0 RSI: 000000000000000a RDI: ffffffff828480eb RBP: ffff88012aa92758 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: f000000000000000 R12: 0000000000000000 R13: ffff88012dc43d48 R14: ffff88013092e7e8 R15: 0000000000000014 FS: 00007f8d689b8e80(0000) GS:ffff88013fd00000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007f8d689c7000 CR3: 000000012ba6a000 CR4: 00000000000006e0 Call Trace: xfs_defer_init+0xff/0x160 xfs_reflink_remap_extent+0x31b/0xa00 xfs_reflink_remap_blocks+0xec/0x4a0 xfs_reflink_remap_range+0x3a1/0x650 xfs_file_dedupe_range+0x39/0x50 vfs_dedupe_file_range+0x218/0x260 do_vfs_ioctl+0x262/0x6a0 ? __se_sys_newfstat+0x3c/0x60 ksys_ioctl+0x35/0x60 __x64_sys_ioctl+0x11/0x20 do_syscall_64+0x4b/0x190 entry_SYSCALL_64_after_hwframe+0x49/0xbeThe root cause of the assertion failure is that
xfs_defer_finishdoesn't roll the transaction after processing all the deferred items. Therefore it returns a dirty transaction to the caller, which leaves the caller at risk of exceeding the transaction reservation if it logs more items.
Quoted 7 lines
Brian Foster's patchset to move the
defer_opsfirstblock into the transaction requirest_firstblock== NULLFSBLOCK upondefer_opsinitialization, which is how this was noticed at all.Reported-by Christoph Hellwig <[email protected]>Signed-off-by Darrick J. Wong <[email protected]>---
I was about ready to post the embedded dfops series but this reminds me that this last roll should be optimized out in the xfs_defer_finish() -> xfs_trans_commit() case. Technically a commit of a clean transaction doesn't have to do anything, but that would at least avoid the unnecessary regrant that occurs during the roll. Hmm, I may just post the series as is for initial review and then tack on a patch for the last bit later..
Brian
Quoted 26 lines
fs/xfs/libxfs/xfs_defer.c | 6 ++++++ 1 file changed, 6 insertions(+)fs/xfs/libxfs/xfs_defer.c +6
-1@@ -424,6 +424,12 @@ xfs_defer_finish(cleanup_fn (*tp, state, error); } +/* +* Roll the transaction once more to avoid returning to the caller +* with a dirty transaction. +*/ +if ((*tp)->t_flags &XFS_TRANS_DIRTY ) + error =xfs_defer_trans_roll (tp, dop); out: (*tp)->t_agfl_dfops = orig_dop;if (error) --To unsubscribe from this list: send the line "unsubscribe linux-xfs" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 2/8] xfs: return from _defer_finish with a clean transaction
In reply to Darrick J. WongLooks good,
(no need to mention me in the changelog, though :))
PATCH 3/8 xfs: trivial xfs_btree_del_cursor cleanups
In reply to Darrick J. WongFrom: Darrick J. Wong <[email protected]>
The error argument to xfs_btree_del_cursor already understands the "nonzero for error" semantics, so remove pointless error testing in the callers and pass it directly.
--- fs/xfs/libxfs/xfs_bmap.c | 24 ++++++++---------------- fs/xfs/libxfs/xfs_bmap_btree.c | 2 +- fs/xfs/libxfs/xfs_ialloc.c | 2 +- fs/xfs/libxfs/xfs_ialloc_btree.c | 2 +- fs/xfs/libxfs/xfs_refcount.c | 2 +- fs/xfs/libxfs/xfs_rmap.c | 18 +++--------------- fs/xfs/scrub/bmap.c | 5 ++--- fs/xfs/scrub/repair.c | 2 +- fs/xfs/xfs_discard.c | 2 +- fs/xfs/xfs_fsmap.c | 2 +- fs/xfs/xfs_itable.c | 6 ++---- fs/xfs/xfs_reflink.c | 2 +- 12 files changed, 23 insertions(+), 46 deletions(-)
fs/xfs/libxfs/xfs_bmap.c +8 -16
@@ -975,8 +975,7 @@ xfs_bmap_add_attrfork_extents( flags, XFS_DATA_FORK);if (cur) { cur->bc_private.b.allocated =0 ; -xfs_btree_del_cursor (cur, - error ?XFS_BTREE_ERROR :XFS_BTREE_NOERROR ); +xfs_btree_del_cursor (cur, error); }return error; }
@@ -4500,8 +4499,7 @@ xfs_bmapi_write( bma.cur->bc_private.b.firstblock)); *firstblock = bma.cur->bc_private.b.firstblock; } -xfs_btree_del_cursor (bma.cur, - error ?XFS_BTREE_ERROR :XFS_BTREE_NOERROR ); +xfs_btree_del_cursor (bma.cur, error); }if (!error) xfs_bmap_validate_ret(orig_bno, orig_len, orig_flags, orig_mval,
@@ -4599,10 +4597,8 @@ xfs_bmapi_remap(if (logflags)xfs_trans_log_inode (tp, ip, logflags); -if (cur) { -xfs_btree_del_cursor (cur, - error ?XFS_BTREE_ERROR :XFS_BTREE_NOERROR ); - } +if (cur) +xfs_btree_del_cursor (cur, error);return error; }
@@ -5505,8 +5501,7 @@ __xfs_bunmapi( *firstblock = cur->bc_private.b.firstblock; cur->bc_private.b.allocated =0 ; } -xfs_btree_del_cursor (cur, - error ?XFS_BTREE_ERROR :XFS_BTREE_NOERROR ); +xfs_btree_del_cursor (cur, error); }return error; }
@@ -5773,8 +5768,7 @@ xfs_bmap_collapse_extents( *next_fsb = got.br_startoff; del_cursor:if (cur) -xfs_btree_del_cursor (cur, - error ?XFS_BTREE_ERROR :XFS_BTREE_NOERROR ); +xfs_btree_del_cursor (cur, error);if (logflags)xfs_trans_log_inode (tp, ip, logflags);return error;
@@ -5905,8 +5899,7 @@ xfs_bmap_insert_extents( *next_fsb = got.br_startoff; del_cursor:if (cur) -xfs_btree_del_cursor (cur, - error ?XFS_BTREE_ERROR :XFS_BTREE_NOERROR ); +xfs_btree_del_cursor (cur, error);if (logflags)xfs_trans_log_inode (tp, ip, logflags);return error;
@@ -6026,8 +6019,7 @@ xfs_bmap_split_extent_at( del_cursor:if (cur) { cur->bc_private.b.allocated =0 ; -xfs_btree_del_cursor (cur, - error ?XFS_BTREE_ERROR :XFS_BTREE_NOERROR ); +xfs_btree_del_cursor (cur, error); }if (logflags)
fs/xfs/libxfs/xfs_bmap_btree.c +1 -1
@@ -645,7 +645,7 @@ xfs_bmbt_change_owner( cur->bc_private.b.flags |=XFS_BTCUR_BPRV_INVALID_OWNER ; error =xfs_btree_change_owner (cur, new_owner, buffer_list); -xfs_btree_del_cursor (cur, error ?XFS_BTREE_ERROR :XFS_BTREE_NOERROR ); +xfs_btree_del_cursor (cur, error);return error; }
fs/xfs/libxfs/xfs_ialloc.c +1 -1
@@ -2260,7 +2260,7 @@ xfs_imap_lookup( }xfs_trans_brelse (tp, agbp); -xfs_btree_del_cursor (cur, error ?XFS_BTREE_ERROR :XFS_BTREE_NOERROR ); +xfs_btree_del_cursor (cur, error);if (error)return error;
fs/xfs/libxfs/xfs_ialloc_btree.c +1 -1
@@ -566,7 +566,7 @@ xfs_inobt_count_blocks( cur =xfs_inobt_init_cursor (mp,NULL , agbp, agno, btnum); error =xfs_btree_count_blocks (cur, tree_blocks); -xfs_btree_del_cursor (cur, error ?XFS_BTREE_ERROR :XFS_BTREE_NOERROR ); +xfs_btree_del_cursor (cur, error);xfs_buf_relse (agbp);return error;
fs/xfs/libxfs/xfs_refcount.c +1 -1
@@ -1067,7 +1067,7 @@ xfs_refcount_finish_one_cleanup(if (rcur ==NULL )return ; agbp = rcur->bc_private.a.agbp; -xfs_btree_del_cursor (rcur, error ?XFS_BTREE_ERROR :XFS_BTREE_NOERROR ); +xfs_btree_del_cursor (rcur, error);if (error)xfs_trans_brelse (tp, agbp); }
fs/xfs/libxfs/xfs_rmap.c +3 -15
@@ -670,14 +670,8 @@ xfs_rmap_free( cur =xfs_rmapbt_init_cursor (mp, tp, agbp, agno); error =xfs_rmap_unmap (cur, bno, len, false, oinfo); -if (error) - goto out_error; -xfs_btree_del_cursor (cur,XFS_BTREE_NOERROR ); -return 0 ; - -out_error: -xfs_btree_del_cursor (cur,XFS_BTREE_ERROR ); +xfs_btree_del_cursor (cur, error);return error; }
@@ -912,14 +906,8 @@ xfs_rmap_alloc( cur =xfs_rmapbt_init_cursor (mp, tp, agbp, agno); error =xfs_rmap_map (cur, bno, len, false, oinfo); -if (error) - goto out_error; -xfs_btree_del_cursor (cur,XFS_BTREE_NOERROR ); -return 0 ; - -out_error: -xfs_btree_del_cursor (cur,XFS_BTREE_ERROR ); +xfs_btree_del_cursor (cur, error);return error; }
@@ -2156,7 +2144,7 @@ xfs_rmap_finish_one_cleanup(if (rcur ==NULL )return ; agbp = rcur->bc_private.a.agbp; -xfs_btree_del_cursor (rcur, error ?XFS_BTREE_ERROR :XFS_BTREE_NOERROR ); +xfs_btree_del_cursor (rcur, error);if (error)xfs_trans_brelse (tp, agbp); }
fs/xfs/scrub/bmap.c +2 -3
@@ -404,8 +404,7 @@ xfs_scrub_bmap_btree( cur =xfs_bmbt_init_cursor (mp, sc->tp, ip, whichfork);xfs_rmap_ino_bmbt_owner (&oinfo, ip->i_ino, whichfork); error =xfs_scrub_btree (sc, cur, xfs_scrub_bmapbt_rec, &oinfo, info); -xfs_btree_del_cursor (cur, error ?XFS_BTREE_ERROR : -XFS_BTREE_NOERROR ); +xfs_btree_del_cursor (cur, error);return error; }
@@ -514,7 +513,7 @@ xfs_scrub_bmap_check_ag_rmaps(if (error ==XFS_BTREE_QUERY_RANGE_ABORT ) error =0 ; -xfs_btree_del_cursor (cur, error ?XFS_BTREE_ERROR :XFS_BTREE_NOERROR ); +xfs_btree_del_cursor (cur, error); out_agf:xfs_trans_brelse (sc->tp, agf);return error;
fs/xfs/scrub/repair.c +1 -1
@@ -1009,7 +1009,7 @@ xfs_repair_find_ag_btree_roots( cur =xfs_rmapbt_init_cursor (mp, sc->tp, agf_bp, sc->sa.agno); error =xfs_rmap_query_all (cur, xfs_repair_findroot_rmap, &ri); -xfs_btree_del_cursor (cur, error ?XFS_BTREE_ERROR :XFS_BTREE_NOERROR ); +xfs_btree_del_cursor (cur, error);return error; }
fs/xfs/xfs_discard.c +1 -1
@@ -128,7 +128,7 @@ xfs_trim_extents( } out_del_cursor: -xfs_btree_del_cursor (cur, error ?XFS_BTREE_ERROR :XFS_BTREE_NOERROR ); +xfs_btree_del_cursor (cur, error);xfs_buf_relse (agbp); out_put_perag:xfs_perag_put (pag);
fs/xfs/xfs_fsmap.c +1 -1
@@ -219,7 +219,7 @@ xfs_getfsmap_is_shared( error =xfs_refcount_find_shared (cur, rec->rm_startblock, rec->rm_blockcount, &fbno, &flen, false); -xfs_btree_del_cursor (cur, error ?XFS_BTREE_ERROR :XFS_BTREE_NOERROR ); +xfs_btree_del_cursor (cur, error);if (error)return error;
fs/xfs/xfs_itable.c +2 -4
@@ -458,8 +458,7 @@ xfs_bulkstat(* pending error, then we are done. */ del_cursor: -xfs_btree_del_cursor (cur, error ? -XFS_BTREE_ERROR :XFS_BTREE_NOERROR ); +xfs_btree_del_cursor (cur, error);xfs_buf_relse (agbp);if (error)break ;
@@ -632,8 +631,7 @@ xfs_inumbers(kmem_free (buffer);if (cur) -xfs_btree_del_cursor (cur, (error ?XFS_BTREE_ERROR : -XFS_BTREE_NOERROR )); +xfs_btree_del_cursor (cur, error);if (agbp)xfs_buf_relse (agbp);
fs/xfs/xfs_reflink.c +1 -1
@@ -162,7 +162,7 @@ xfs_reflink_find_shared( error =xfs_refcount_find_shared (cur, agbno, aglen, fbno, flen, find_end_of_shared); -xfs_btree_del_cursor (cur, error ?XFS_BTREE_ERROR :XFS_BTREE_NOERROR ); +xfs_btree_del_cursor (cur, error);xfs_trans_brelse (tp, agbp);return error;
Re: [PATCH 3/8] xfs: trivial xfs_btree_del_cursor cleanups
Quoted 8 lines · Darrick J. Wong
From: Darrick J. Wong <[email protected]>
The error argument to
xfs_btree_del_cursoralready understands the "nonzero for error" semantics, so remove pointless error testing in the callers and pass it directly.Signed-off-by Darrick J. Wong <[email protected]>---
Quoted 293 lines
fs/xfs/libxfs/xfs_bmap.c | 24 ++++++++---------------- fs/xfs/libxfs/xfs_bmap_btree.c | 2 +- fs/xfs/libxfs/xfs_ialloc.c | 2 +- fs/xfs/libxfs/xfs_ialloc_btree.c | 2 +- fs/xfs/libxfs/xfs_refcount.c | 2 +- fs/xfs/libxfs/xfs_rmap.c | 18 +++--------------- fs/xfs/scrub/bmap.c | 5 ++--- fs/xfs/scrub/repair.c | 2 +- fs/xfs/xfs_discard.c | 2 +- fs/xfs/xfs_fsmap.c | 2 +- fs/xfs/xfs_itable.c | 6 ++---- fs/xfs/xfs_reflink.c | 2 +- 12 files changed, 23 insertions(+), 46 deletions(-)fs/xfs/libxfs/xfs_bmap.c +8
-16@@ -975,8 +975,7 @@ xfs_bmap_add_attrfork_extents( flags, XFS_DATA_FORK);if (cur) { cur->bc_private.b.allocated =0 ; -xfs_btree_del_cursor (cur, - error ?XFS_BTREE_ERROR :XFS_BTREE_NOERROR ); +xfs_btree_del_cursor (cur, error); }return error; }@@ -4500,8 +4499,7 @@ xfs_bmapi_write( bma.cur->bc_private.b.firstblock)); *firstblock = bma.cur->bc_private.b.firstblock; } -xfs_btree_del_cursor (bma.cur, - error ?XFS_BTREE_ERROR :XFS_BTREE_NOERROR ); +xfs_btree_del_cursor (bma.cur, error); }if (!error) xfs_bmap_validate_ret(orig_bno, orig_len, orig_flags, orig_mval,@@ -4599,10 +4597,8 @@ xfs_bmapi_remap(if (logflags)xfs_trans_log_inode (tp, ip, logflags); -if (cur) { -xfs_btree_del_cursor (cur, - error ?XFS_BTREE_ERROR :XFS_BTREE_NOERROR ); - } +if (cur) +xfs_btree_del_cursor (cur, error);return error; }@@ -5505,8 +5501,7 @@ __xfs_bunmapi( *firstblock = cur->bc_private.b.firstblock; cur->bc_private.b.allocated =0 ; } -xfs_btree_del_cursor (cur, - error ?XFS_BTREE_ERROR :XFS_BTREE_NOERROR ); +xfs_btree_del_cursor (cur, error); }return error; }@@ -5773,8 +5768,7 @@ xfs_bmap_collapse_extents( *next_fsb = got.br_startoff; del_cursor:if (cur) -xfs_btree_del_cursor (cur, - error ?XFS_BTREE_ERROR :XFS_BTREE_NOERROR ); +xfs_btree_del_cursor (cur, error);if (logflags)xfs_trans_log_inode (tp, ip, logflags);return error;@@ -5905,8 +5899,7 @@ xfs_bmap_insert_extents( *next_fsb = got.br_startoff; del_cursor:if (cur) -xfs_btree_del_cursor (cur, - error ?XFS_BTREE_ERROR :XFS_BTREE_NOERROR ); +xfs_btree_del_cursor (cur, error);if (logflags)xfs_trans_log_inode (tp, ip, logflags);return error;@@ -6026,8 +6019,7 @@ xfs_bmap_split_extent_at( del_cursor:if (cur) { cur->bc_private.b.allocated =0 ; -xfs_btree_del_cursor (cur, - error ?XFS_BTREE_ERROR :XFS_BTREE_NOERROR ); +xfs_btree_del_cursor (cur, error); }if (logflags)fs/xfs/libxfs/xfs_bmap_btree.c +1
-1@@ -645,7 +645,7 @@ xfs_bmbt_change_owner( cur->bc_private.b.flags |=XFS_BTCUR_BPRV_INVALID_OWNER ; error =xfs_btree_change_owner (cur, new_owner, buffer_list); -xfs_btree_del_cursor (cur, error ?XFS_BTREE_ERROR :XFS_BTREE_NOERROR ); +xfs_btree_del_cursor (cur, error);return error; }fs/xfs/libxfs/xfs_ialloc.c +1
-1@@ -2260,7 +2260,7 @@ xfs_imap_lookup( }xfs_trans_brelse (tp, agbp); -xfs_btree_del_cursor (cur, error ?XFS_BTREE_ERROR :XFS_BTREE_NOERROR ); +xfs_btree_del_cursor (cur, error);if (error)return error;fs/xfs/libxfs/xfs_ialloc_btree.c +1
-1@@ -566,7 +566,7 @@ xfs_inobt_count_blocks( cur =xfs_inobt_init_cursor (mp,NULL , agbp, agno, btnum); error =xfs_btree_count_blocks (cur, tree_blocks); -xfs_btree_del_cursor (cur, error ?XFS_BTREE_ERROR :XFS_BTREE_NOERROR ); +xfs_btree_del_cursor (cur, error);xfs_buf_relse (agbp);return error;fs/xfs/libxfs/xfs_refcount.c +1
-1@@ -1067,7 +1067,7 @@ xfs_refcount_finish_one_cleanup(if (rcur ==NULL )return ; agbp = rcur->bc_private.a.agbp; -xfs_btree_del_cursor (rcur, error ?XFS_BTREE_ERROR :XFS_BTREE_NOERROR ); +xfs_btree_del_cursor (rcur, error);if (error)xfs_trans_brelse (tp, agbp); }fs/xfs/libxfs/xfs_rmap.c +3
-15@@ -670,14 +670,8 @@ xfs_rmap_free( cur =xfs_rmapbt_init_cursor (mp, tp, agbp, agno); error =xfs_rmap_unmap (cur, bno, len, false, oinfo); -if (error) - goto out_error; -xfs_btree_del_cursor (cur,XFS_BTREE_NOERROR ); -return 0 ; - -out_error: -xfs_btree_del_cursor (cur,XFS_BTREE_ERROR ); +xfs_btree_del_cursor (cur, error);return error; }@@ -912,14 +906,8 @@ xfs_rmap_alloc( cur =xfs_rmapbt_init_cursor (mp, tp, agbp, agno); error =xfs_rmap_map (cur, bno, len, false, oinfo); -if (error) - goto out_error; -xfs_btree_del_cursor (cur,XFS_BTREE_NOERROR ); -return 0 ; - -out_error: -xfs_btree_del_cursor (cur,XFS_BTREE_ERROR ); +xfs_btree_del_cursor (cur, error);return error; }@@ -2156,7 +2144,7 @@ xfs_rmap_finish_one_cleanup(if (rcur ==NULL )return ; agbp = rcur->bc_private.a.agbp; -xfs_btree_del_cursor (rcur, error ?XFS_BTREE_ERROR :XFS_BTREE_NOERROR ); +xfs_btree_del_cursor (rcur, error);if (error)xfs_trans_brelse (tp, agbp); }fs/xfs/scrub/bmap.c +2
-3@@ -404,8 +404,7 @@ xfs_scrub_bmap_btree( cur =xfs_bmbt_init_cursor (mp, sc->tp, ip, whichfork);xfs_rmap_ino_bmbt_owner (&oinfo, ip->i_ino, whichfork); error =xfs_scrub_btree (sc, cur, xfs_scrub_bmapbt_rec, &oinfo, info); -xfs_btree_del_cursor (cur, error ?XFS_BTREE_ERROR : -XFS_BTREE_NOERROR ); +xfs_btree_del_cursor (cur, error);return error; }@@ -514,7 +513,7 @@ xfs_scrub_bmap_check_ag_rmaps(if (error ==XFS_BTREE_QUERY_RANGE_ABORT ) error =0 ; -xfs_btree_del_cursor (cur, error ?XFS_BTREE_ERROR :XFS_BTREE_NOERROR ); +xfs_btree_del_cursor (cur, error); out_agf:xfs_trans_brelse (sc->tp, agf);return error;fs/xfs/scrub/repair.c +1
-1@@ -1009,7 +1009,7 @@ xfs_repair_find_ag_btree_roots( cur =xfs_rmapbt_init_cursor (mp, sc->tp, agf_bp, sc->sa.agno); error =xfs_rmap_query_all (cur, xfs_repair_findroot_rmap, &ri); -xfs_btree_del_cursor (cur, error ?XFS_BTREE_ERROR :XFS_BTREE_NOERROR ); +xfs_btree_del_cursor (cur, error);return error; }fs/xfs/xfs_discard.c +1
-1@@ -128,7 +128,7 @@ xfs_trim_extents( } out_del_cursor: -xfs_btree_del_cursor (cur, error ?XFS_BTREE_ERROR :XFS_BTREE_NOERROR ); +xfs_btree_del_cursor (cur, error);xfs_buf_relse (agbp); out_put_perag:xfs_perag_put (pag);fs/xfs/xfs_fsmap.c +1
-1@@ -219,7 +219,7 @@ xfs_getfsmap_is_shared( error =xfs_refcount_find_shared (cur, rec->rm_startblock, rec->rm_blockcount, &fbno, &flen, false); -xfs_btree_del_cursor (cur, error ?XFS_BTREE_ERROR :XFS_BTREE_NOERROR ); +xfs_btree_del_cursor (cur, error);if (error)return error;fs/xfs/xfs_itable.c +2
-4@@ -458,8 +458,7 @@ xfs_bulkstat(* pending error, then we are done. */ del_cursor: -xfs_btree_del_cursor (cur, error ? -XFS_BTREE_ERROR :XFS_BTREE_NOERROR ); +xfs_btree_del_cursor (cur, error);xfs_buf_relse (agbp);if (error)break ;@@ -632,8 +631,7 @@ xfs_inumbers(kmem_free (buffer);if (cur) -xfs_btree_del_cursor (cur, (error ?XFS_BTREE_ERROR : -XFS_BTREE_NOERROR )); +xfs_btree_del_cursor (cur, error);if (agbp)xfs_buf_relse (agbp);fs/xfs/xfs_reflink.c +1
-2@@ -162,7 +162,7 @@ xfs_reflink_find_shared( error =xfs_refcount_find_shared (cur, agbno, aglen, fbno, flen, find_end_of_shared); -xfs_btree_del_cursor (cur, error ?XFS_BTREE_ERROR :XFS_BTREE_NOERROR ); +xfs_btree_del_cursor (cur, error);xfs_trans_brelse (tp, agbp);return error; --To unsubscribe from this list: send the line "unsubscribe linux-xfs" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 3/8] xfs: trivial xfs_btree_del_cursor cleanups
In reply to Darrick J. WongQuoted 8 lines · Darrick J. Wong
From: Darrick J. Wong <[email protected]>
The error argument to
xfs_btree_del_cursoralready understands the "nonzero for error" semantics, so remove pointless error testing in the callers and pass it directly.Signed-off-by Darrick J. Wong <[email protected]>---
Quoted 293 lines
fs/xfs/libxfs/xfs_bmap.c | 24 ++++++++---------------- fs/xfs/libxfs/xfs_bmap_btree.c | 2 +- fs/xfs/libxfs/xfs_ialloc.c | 2 +- fs/xfs/libxfs/xfs_ialloc_btree.c | 2 +- fs/xfs/libxfs/xfs_refcount.c | 2 +- fs/xfs/libxfs/xfs_rmap.c | 18 +++--------------- fs/xfs/scrub/bmap.c | 5 ++--- fs/xfs/scrub/repair.c | 2 +- fs/xfs/xfs_discard.c | 2 +- fs/xfs/xfs_fsmap.c | 2 +- fs/xfs/xfs_itable.c | 6 ++---- fs/xfs/xfs_reflink.c | 2 +- 12 files changed, 23 insertions(+), 46 deletions(-)fs/xfs/libxfs/xfs_bmap.c +8
-16@@ -975,8 +975,7 @@ xfs_bmap_add_attrfork_extents( flags, XFS_DATA_FORK);if (cur) { cur->bc_private.b.allocated =0 ; -xfs_btree_del_cursor (cur, - error ?XFS_BTREE_ERROR :XFS_BTREE_NOERROR ); +xfs_btree_del_cursor (cur, error); }return error; }@@ -4500,8 +4499,7 @@ xfs_bmapi_write( bma.cur->bc_private.b.firstblock)); *firstblock = bma.cur->bc_private.b.firstblock; } -xfs_btree_del_cursor (bma.cur, - error ?XFS_BTREE_ERROR :XFS_BTREE_NOERROR ); +xfs_btree_del_cursor (bma.cur, error); }if (!error) xfs_bmap_validate_ret(orig_bno, orig_len, orig_flags, orig_mval,@@ -4599,10 +4597,8 @@ xfs_bmapi_remap(if (logflags)xfs_trans_log_inode (tp, ip, logflags); -if (cur) { -xfs_btree_del_cursor (cur, - error ?XFS_BTREE_ERROR :XFS_BTREE_NOERROR ); - } +if (cur) +xfs_btree_del_cursor (cur, error);return error; }@@ -5505,8 +5501,7 @@ __xfs_bunmapi( *firstblock = cur->bc_private.b.firstblock; cur->bc_private.b.allocated =0 ; } -xfs_btree_del_cursor (cur, - error ?XFS_BTREE_ERROR :XFS_BTREE_NOERROR ); +xfs_btree_del_cursor (cur, error); }return error; }@@ -5773,8 +5768,7 @@ xfs_bmap_collapse_extents( *next_fsb = got.br_startoff; del_cursor:if (cur) -xfs_btree_del_cursor (cur, - error ?XFS_BTREE_ERROR :XFS_BTREE_NOERROR ); +xfs_btree_del_cursor (cur, error);if (logflags)xfs_trans_log_inode (tp, ip, logflags);return error;@@ -5905,8 +5899,7 @@ xfs_bmap_insert_extents( *next_fsb = got.br_startoff; del_cursor:if (cur) -xfs_btree_del_cursor (cur, - error ?XFS_BTREE_ERROR :XFS_BTREE_NOERROR ); +xfs_btree_del_cursor (cur, error);if (logflags)xfs_trans_log_inode (tp, ip, logflags);return error;@@ -6026,8 +6019,7 @@ xfs_bmap_split_extent_at( del_cursor:if (cur) { cur->bc_private.b.allocated =0 ; -xfs_btree_del_cursor (cur, - error ?XFS_BTREE_ERROR :XFS_BTREE_NOERROR ); +xfs_btree_del_cursor (cur, error); }if (logflags)fs/xfs/libxfs/xfs_bmap_btree.c +1
-1@@ -645,7 +645,7 @@ xfs_bmbt_change_owner( cur->bc_private.b.flags |=XFS_BTCUR_BPRV_INVALID_OWNER ; error =xfs_btree_change_owner (cur, new_owner, buffer_list); -xfs_btree_del_cursor (cur, error ?XFS_BTREE_ERROR :XFS_BTREE_NOERROR ); +xfs_btree_del_cursor (cur, error);return error; }fs/xfs/libxfs/xfs_ialloc.c +1
-1@@ -2260,7 +2260,7 @@ xfs_imap_lookup( }xfs_trans_brelse (tp, agbp); -xfs_btree_del_cursor (cur, error ?XFS_BTREE_ERROR :XFS_BTREE_NOERROR ); +xfs_btree_del_cursor (cur, error);if (error)return error;fs/xfs/libxfs/xfs_ialloc_btree.c +1
-1@@ -566,7 +566,7 @@ xfs_inobt_count_blocks( cur =xfs_inobt_init_cursor (mp,NULL , agbp, agno, btnum); error =xfs_btree_count_blocks (cur, tree_blocks); -xfs_btree_del_cursor (cur, error ?XFS_BTREE_ERROR :XFS_BTREE_NOERROR ); +xfs_btree_del_cursor (cur, error);xfs_buf_relse (agbp);return error;fs/xfs/libxfs/xfs_refcount.c +1
-1@@ -1067,7 +1067,7 @@ xfs_refcount_finish_one_cleanup(if (rcur ==NULL )return ; agbp = rcur->bc_private.a.agbp; -xfs_btree_del_cursor (rcur, error ?XFS_BTREE_ERROR :XFS_BTREE_NOERROR ); +xfs_btree_del_cursor (rcur, error);if (error)xfs_trans_brelse (tp, agbp); }fs/xfs/libxfs/xfs_rmap.c +3
-15@@ -670,14 +670,8 @@ xfs_rmap_free( cur =xfs_rmapbt_init_cursor (mp, tp, agbp, agno); error =xfs_rmap_unmap (cur, bno, len, false, oinfo); -if (error) - goto out_error; -xfs_btree_del_cursor (cur,XFS_BTREE_NOERROR ); -return 0 ; - -out_error: -xfs_btree_del_cursor (cur,XFS_BTREE_ERROR ); +xfs_btree_del_cursor (cur, error);return error; }@@ -912,14 +906,8 @@ xfs_rmap_alloc( cur =xfs_rmapbt_init_cursor (mp, tp, agbp, agno); error =xfs_rmap_map (cur, bno, len, false, oinfo); -if (error) - goto out_error; -xfs_btree_del_cursor (cur,XFS_BTREE_NOERROR ); -return 0 ; - -out_error: -xfs_btree_del_cursor (cur,XFS_BTREE_ERROR ); +xfs_btree_del_cursor (cur, error);return error; }@@ -2156,7 +2144,7 @@ xfs_rmap_finish_one_cleanup(if (rcur ==NULL )return ; agbp = rcur->bc_private.a.agbp; -xfs_btree_del_cursor (rcur, error ?XFS_BTREE_ERROR :XFS_BTREE_NOERROR ); +xfs_btree_del_cursor (rcur, error);if (error)xfs_trans_brelse (tp, agbp); }fs/xfs/scrub/bmap.c +2
-3@@ -404,8 +404,7 @@ xfs_scrub_bmap_btree( cur =xfs_bmbt_init_cursor (mp, sc->tp, ip, whichfork);xfs_rmap_ino_bmbt_owner (&oinfo, ip->i_ino, whichfork); error =xfs_scrub_btree (sc, cur, xfs_scrub_bmapbt_rec, &oinfo, info); -xfs_btree_del_cursor (cur, error ?XFS_BTREE_ERROR : -XFS_BTREE_NOERROR ); +xfs_btree_del_cursor (cur, error);return error; }@@ -514,7 +513,7 @@ xfs_scrub_bmap_check_ag_rmaps(if (error ==XFS_BTREE_QUERY_RANGE_ABORT ) error =0 ; -xfs_btree_del_cursor (cur, error ?XFS_BTREE_ERROR :XFS_BTREE_NOERROR ); +xfs_btree_del_cursor (cur, error); out_agf:xfs_trans_brelse (sc->tp, agf);return error;fs/xfs/scrub/repair.c +1
-1@@ -1009,7 +1009,7 @@ xfs_repair_find_ag_btree_roots( cur =xfs_rmapbt_init_cursor (mp, sc->tp, agf_bp, sc->sa.agno); error =xfs_rmap_query_all (cur, xfs_repair_findroot_rmap, &ri); -xfs_btree_del_cursor (cur, error ?XFS_BTREE_ERROR :XFS_BTREE_NOERROR ); +xfs_btree_del_cursor (cur, error);return error; }fs/xfs/xfs_discard.c +1
-1@@ -128,7 +128,7 @@ xfs_trim_extents( } out_del_cursor: -xfs_btree_del_cursor (cur, error ?XFS_BTREE_ERROR :XFS_BTREE_NOERROR ); +xfs_btree_del_cursor (cur, error);xfs_buf_relse (agbp); out_put_perag:xfs_perag_put (pag);fs/xfs/xfs_fsmap.c +1
-1@@ -219,7 +219,7 @@ xfs_getfsmap_is_shared( error =xfs_refcount_find_shared (cur, rec->rm_startblock, rec->rm_blockcount, &fbno, &flen, false); -xfs_btree_del_cursor (cur, error ?XFS_BTREE_ERROR :XFS_BTREE_NOERROR ); +xfs_btree_del_cursor (cur, error);if (error)return error;fs/xfs/xfs_itable.c +2
-4@@ -458,8 +458,7 @@ xfs_bulkstat(* pending error, then we are done. */ del_cursor: -xfs_btree_del_cursor (cur, error ? -XFS_BTREE_ERROR :XFS_BTREE_NOERROR ); +xfs_btree_del_cursor (cur, error);xfs_buf_relse (agbp);if (error)break ;@@ -632,8 +631,7 @@ xfs_inumbers(kmem_free (buffer);if (cur) -xfs_btree_del_cursor (cur, (error ?XFS_BTREE_ERROR : -XFS_BTREE_NOERROR )); +xfs_btree_del_cursor (cur, error);if (agbp)xfs_buf_relse (agbp);fs/xfs/xfs_reflink.c +1
-2@@ -162,7 +162,7 @@ xfs_reflink_find_shared( error =xfs_refcount_find_shared (cur, agbno, aglen, fbno, flen, find_end_of_shared); -xfs_btree_del_cursor (cur, error ?XFS_BTREE_ERROR :XFS_BTREE_NOERROR ); +xfs_btree_del_cursor (cur, error);xfs_trans_brelse (tp, agbp);return error; --To unsubscribe from this list: send the line "unsubscribe linux-xfs" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Signature · 1 line
Carlos
Re: [PATCH 3/8] xfs: trivial xfs_btree_del_cursor cleanups
In reply to Darrick J. WongQuoted 5 lines · Darrick J. Wong
From: Darrick J. Wong <[email protected]>
The error argument to
xfs_btree_del_cursoralready understands the "nonzero for error" semantics, so remove pointless error testing in the callers and pass it directly.
Looks fine, but we should also get rid of the XFS_BTREE_ERROR and XFS_BTREE_NOERROR defines as mixing them with errno values is going to be very confusing.
(assuming we get another patch for the above eventually)
Re: [PATCH 3/8] xfs: trivial xfs_btree_del_cursor cleanups
Quoted 7 lines · Christoph Hellwig
Quoted 5 lines · Darrick J. Wong
From: Darrick J. Wong <[email protected]>
The error argument to
xfs_btree_del_cursoralready understands the "nonzero for error" semantics, so remove pointless error testing in the callers and pass it directly.
Quoted 7 lines
Looks fine, but we should also get rid of the
XFS_BTREE_ERRORandXFS_BTREE_NOERRORdefines as mixing them with errno values is going to be very confusing.Reviewed-by Christoph Hellwig <[email protected]>(assuming we get another patch for the above eventually)
Eventually, yes. The remaining usages are not so trivial to fix and require more careful auditing.
--D
Quoted 4 lines
--
To unsubscribe from this list: send the line "unsubscribe linux-xfs" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 3/8] xfs: trivial xfs_btree_del_cursor cleanups
Quoted 2 lines · Darrick J. Wong
Eventually, yes. The remaining usages are not so trivial to fix and require more careful auditing.
I think a simple s/XFS_BTREE_NOERROR/0/g, s/XFS_BTREE_ERROR/-EIO/g should do the job.
PATCH 4/8 xfs: clean up xfs_btree_del_cursor callers
In reply to Darrick J. WongFrom: Darrick J. Wong <[email protected]>
Less trivial cleanups of the error argument to xfs_btree_del_cursor; these require some minor code refactoring.
--- fs/xfs/libxfs/xfs_refcount.c | 11 +++-------- fs/xfs/scrub/repair.c | 7 +++---- 2 files changed, 6 insertions(+), 12 deletions(-)
fs/xfs/libxfs/xfs_refcount.c +3 -8
@@ -1675,11 +1675,11 @@ xfs_refcount_recover_cow_leftovers( high.rc.rc_startblock =-1U ; error =xfs_btree_query_range (cur, &low, &high, xfs_refcount_recover_extent, &debris); -if (error) - goto out_cursor; -xfs_btree_del_cursor (cur,XFS_BTREE_NOERROR ); +xfs_btree_del_cursor (cur, error);xfs_trans_brelse (tp, agbp);xfs_trans_cancel (tp); +if (error) + goto out_free;/* Now iterate the list to free the leftovers */ list_for_each_entry_safe (rr, n, &debris, rr_list) {
@@ -1727,11 +1727,6 @@ xfs_refcount_recover_cow_leftovers(kmem_free (rr); }return error; - -out_cursor: -xfs_btree_del_cursor (cur,XFS_BTREE_ERROR ); -xfs_trans_brelse (tp, agbp); - goto out_trans; }/* Is there a record covering a given extent? */
fs/xfs/scrub/repair.c +3 -4
@@ -747,9 +747,9 @@ xfs_repair_dispose_btree_block(/* Can we find any other rmappings? */ error =xfs_rmap_has_other_keys (cur, agbno,1 , oinfo, &has_other_rmap); +xfs_btree_del_cursor (cur, error);if (error) - goto out_cur; -xfs_btree_del_cursor (cur,XFS_BTREE_NOERROR ); + goto out_free;/* * If there are other rmappings, this block is cross linked and must
@@ -779,8 +779,7 @@ xfs_repair_dispose_btree_block(return xfs_trans_roll_inode (&sc->tp, sc->ip);return xfs_repair_roll_ag_trans (sc); -out_cur: -xfs_btree_del_cursor (cur,XFS_BTREE_ERROR ); +out_free:if (agf_bp != sc->sa.agf_bp)xfs_trans_brelse (sc->tp, agf_bp);return error;
Re: [PATCH 4/8] xfs: clean up xfs_btree_del_cursor callers
Quoted 7 lines · Darrick J. Wong
From: Darrick J. Wong <[email protected]>
Less trivial cleanups of the error argument to
xfs_btree_del_cursor; these require some minor code refactoring.Signed-off-by Darrick J. Wong <[email protected]>---
Quoted 67 lines
fs/xfs/libxfs/xfs_refcount.c | 11 +++-------- fs/xfs/scrub/repair.c | 7 +++---- 2 files changed, 6 insertions(+), 12 deletions(-)fs/xfs/libxfs/xfs_refcount.c +3
-8@@ -1675,11 +1675,11 @@ xfs_refcount_recover_cow_leftovers( high.rc.rc_startblock =-1U ; error =xfs_btree_query_range (cur, &low, &high, xfs_refcount_recover_extent, &debris); -if (error) - goto out_cursor; -xfs_btree_del_cursor (cur,XFS_BTREE_NOERROR ); +xfs_btree_del_cursor (cur, error);xfs_trans_brelse (tp, agbp);xfs_trans_cancel (tp); +if (error) + goto out_free;/* Now iterate the list to free the leftovers */ list_for_each_entry_safe (rr, n, &debris, rr_list) {@@ -1727,11 +1727,6 @@ xfs_refcount_recover_cow_leftovers(kmem_free (rr); }return error; - -out_cursor: -xfs_btree_del_cursor (cur,XFS_BTREE_ERROR ); -xfs_trans_brelse (tp, agbp); - goto out_trans; }/* Is there a record covering a given extent? */ fs/xfs/scrub/repair.c +3
-5@@ -747,9 +747,9 @@ xfs_repair_dispose_btree_block(/* Can we find any other rmappings? */ error =xfs_rmap_has_other_keys (cur, agbno,1 , oinfo, &has_other_rmap); +xfs_btree_del_cursor (cur, error);if (error) - goto out_cur; -xfs_btree_del_cursor (cur,XFS_BTREE_NOERROR ); + goto out_free;/* * If there are other rmappings, this block is cross linked and must @@ -779,8 +779,7 @@ xfs_repair_dispose_btree_block(return xfs_trans_roll_inode (&sc->tp, sc->ip);return xfs_repair_roll_ag_trans (sc); -out_cur: -xfs_btree_del_cursor (cur,XFS_BTREE_ERROR ); +out_free:if (agf_bp != sc->sa.agf_bp)xfs_trans_brelse (sc->tp, agf_bp);return error; --To unsubscribe from this list: send the line "unsubscribe linux-xfs" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 4/8] xfs: clean up xfs_btree_del_cursor callers
In reply to Darrick J. WongQuoted 6 lines · Darrick J. Wong
From: Darrick J. Wong <[email protected]>
Less trivial cleanups of the error argument to
xfs_btree_del_cursor; these require some minor code refactoring.Signed-off-by Darrick J. Wong <[email protected]>
Quoted 68 lines
--- fs/xfs/libxfs/xfs_refcount.c | 11 +++-------- fs/xfs/scrub/repair.c | 7 +++---- 2 files changed, 6 insertions(+), 12 deletions(-)fs/xfs/libxfs/xfs_refcount.c +3
-8@@ -1675,11 +1675,11 @@ xfs_refcount_recover_cow_leftovers( high.rc.rc_startblock =-1U ; error =xfs_btree_query_range (cur, &low, &high, xfs_refcount_recover_extent, &debris); -if (error) - goto out_cursor; -xfs_btree_del_cursor (cur,XFS_BTREE_NOERROR ); +xfs_btree_del_cursor (cur, error);xfs_trans_brelse (tp, agbp);xfs_trans_cancel (tp); +if (error) + goto out_free;/* Now iterate the list to free the leftovers */ list_for_each_entry_safe (rr, n, &debris, rr_list) {@@ -1727,11 +1727,6 @@ xfs_refcount_recover_cow_leftovers(kmem_free (rr); }return error; - -out_cursor: -xfs_btree_del_cursor (cur,XFS_BTREE_ERROR ); -xfs_trans_brelse (tp, agbp); - goto out_trans; }/* Is there a record covering a given extent? */ fs/xfs/scrub/repair.c +3
-5@@ -747,9 +747,9 @@ xfs_repair_dispose_btree_block(/* Can we find any other rmappings? */ error =xfs_rmap_has_other_keys (cur, agbno,1 , oinfo, &has_other_rmap); +xfs_btree_del_cursor (cur, error);if (error) - goto out_cur; -xfs_btree_del_cursor (cur,XFS_BTREE_NOERROR ); + goto out_free;/* * If there are other rmappings, this block is cross linked and must @@ -779,8 +779,7 @@ xfs_repair_dispose_btree_block(return xfs_trans_roll_inode (&sc->tp, sc->ip);return xfs_repair_roll_ag_trans (sc); -out_cur: -xfs_btree_del_cursor (cur,XFS_BTREE_ERROR ); +out_free:if (agf_bp != sc->sa.agf_bp)xfs_trans_brelse (sc->tp, agf_bp);return error; --To unsubscribe from this list: send the line "unsubscribe linux-xfs" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Signature · 1 line
Carlos
Re: [PATCH 4/8] xfs: clean up xfs_btree_del_cursor callers
In reply to Darrick J. WongQuoted 4 lines · Darrick J. Wong
From: Darrick J. Wong <[email protected]>
Less trivial cleanups of the error argument to
xfs_btree_del_cursor; these require some minor code refactoring.
Both cases don't rely share a common patter, why have them in a single patch?
Otherwise looks fine:
PATCH 5/8 xfs: shorten xfs_scrub_ prefix
In reply to Darrick J. WongFrom: Darrick J. Wong <[email protected]>
Shorten all the metadata checking xfs_scrub_ prefixes to xchk_. After this, the only xfs_scrub* symbols are the ones that pertain to both scrub and repair. Whitespace damage will be fixed in a subsequent patch. There are no functional changes.
--- fs/xfs/scrub/agheader.c | 318 ++++++++++++++++++++++++----------------------- fs/xfs/scrub/alloc.c | 56 ++++---- fs/xfs/scrub/attr.c | 106 ++++++++-------- fs/xfs/scrub/bmap.c | 176 +++++++++++++------------- fs/xfs/scrub/btree.c | 166 ++++++++++++------------- fs/xfs/scrub/btree.h | 22 ++- fs/xfs/scrub/common.c | 172 +++++++++++++------------ fs/xfs/scrub/common.h | 102 ++++++++------- fs/xfs/scrub/dabtree.c | 124 +++++++++--------- fs/xfs/scrub/dabtree.h | 14 +- fs/xfs/scrub/dir.c | 170 +++++++++++++------------ fs/xfs/scrub/ialloc.c | 138 ++++++++++---------- fs/xfs/scrub/inode.c | 160 ++++++++++++------------ fs/xfs/scrub/parent.c | 62 +++++---- fs/xfs/scrub/quota.c | 64 +++++---- fs/xfs/scrub/refcount.c | 114 ++++++++--------- fs/xfs/scrub/repair.c | 4 - fs/xfs/scrub/rmap.c | 78 ++++++------ fs/xfs/scrub/rtbitmap.c | 30 ++-- fs/xfs/scrub/scrub.c | 142 +++++++++++---------- fs/xfs/scrub/scrub.h | 82 ++++++------ fs/xfs/scrub/symlink.c | 14 +- fs/xfs/scrub/trace.c | 2 fs/xfs/scrub/trace.h | 70 +++++----- 24 files changed, 1196 insertions(+), 1190 deletions(-)
fs/xfs/scrub/agheader.c +159 -159
@@ -28,7 +28,7 @@/* Cross-reference with the other btrees. */ STATIC void -xfs_scrub_superblock_xref ( +xchk_superblock_xref (struct xfs_scrub_context *sc,struct xfs_buf *bp) {
@@ -43,15 +43,15 @@ xfs_scrub_superblock_xref( agbno =XFS_SB_BLOCK (mp); - error =xfs_scrub_ag_init (sc, agno, &sc->sa); -if (!xfs_scrub_xref_process_error (sc, agno, agbno, &error)) + error =xchk_ag_init (sc, agno, &sc->sa); +if (!xchk_xref_process_error (sc, agno, agbno, &error))return ; -xfs_scrub_xref_is_used_space (sc, agbno,1 ); -xfs_scrub_xref_is_not_inode_chunk (sc, agbno,1 ); +xchk_xref_is_used_space (sc, agbno,1 ); +xchk_xref_is_not_inode_chunk (sc, agbno,1 );xfs_rmap_ag_owner (&oinfo,XFS_RMAP_OWN_FS ); -xfs_scrub_xref_is_owned_by (sc, agbno,1 , &oinfo); -xfs_scrub_xref_is_not_shared (sc, agbno,1 ); +xchk_xref_is_owned_by (sc, agbno,1 , &oinfo); +xchk_xref_is_not_shared (sc, agbno,1 );/* scrub teardown will take care of sc->sa for us */ }
@@ -65,7 +65,7 @@ xfs_scrub_superblock_xref(* sb 0 is ok and we can use its information to check everything else. */ int -xfs_scrub_superblock ( +xchk_superblock (struct xfs_scrub_context *sc) {struct xfs_mount *mp = sc->mp;
@@ -98,7 +98,7 @@ xfs_scrub_superblock(default :break ; } -if (!xfs_scrub_process_error (sc, agno,XFS_SB_BLOCK (mp), &error)) +if (!xchk_process_error (sc, agno,XFS_SB_BLOCK (mp), &error))return error; sb =XFS_BUF_TO_SBP (bp);
@@ -110,46 +110,46 @@ xfs_scrub_superblock(* checked. */ if (sb->sb_blocksize !=cpu_to_be32 (mp->m_sb.sb_blocksize)) -xfs_scrub_block_set_corrupt (sc, bp); +xchk_block_set_corrupt (sc, bp);if (sb->sb_dblocks !=cpu_to_be64 (mp->m_sb.sb_dblocks)) -xfs_scrub_block_set_corrupt (sc, bp); +xchk_block_set_corrupt (sc, bp);if (sb->sb_rblocks !=cpu_to_be64 (mp->m_sb.sb_rblocks)) -xfs_scrub_block_set_corrupt (sc, bp); +xchk_block_set_corrupt (sc, bp);if (sb->sb_rextents !=cpu_to_be64 (mp->m_sb.sb_rextents)) -xfs_scrub_block_set_corrupt (sc, bp); +xchk_block_set_corrupt (sc, bp);if (!uuid_equal (&sb->sb_uuid, &mp->m_sb.sb_uuid)) -xfs_scrub_block_set_preen (sc, bp); +xchk_block_set_preen (sc, bp);if (sb->sb_logstart !=cpu_to_be64 (mp->m_sb.sb_logstart)) -xfs_scrub_block_set_corrupt (sc, bp); +xchk_block_set_corrupt (sc, bp);if (sb->sb_rootino !=cpu_to_be64 (mp->m_sb.sb_rootino)) -xfs_scrub_block_set_preen (sc, bp); +xchk_block_set_preen (sc, bp);if (sb->sb_rbmino !=cpu_to_be64 (mp->m_sb.sb_rbmino)) -xfs_scrub_block_set_preen (sc, bp); +xchk_block_set_preen (sc, bp);if (sb->sb_rsumino !=cpu_to_be64 (mp->m_sb.sb_rsumino)) -xfs_scrub_block_set_preen (sc, bp); +xchk_block_set_preen (sc, bp);if (sb->sb_rextsize !=cpu_to_be32 (mp->m_sb.sb_rextsize)) -xfs_scrub_block_set_corrupt (sc, bp); +xchk_block_set_corrupt (sc, bp);if (sb->sb_agblocks !=cpu_to_be32 (mp->m_sb.sb_agblocks)) -xfs_scrub_block_set_corrupt (sc, bp); +xchk_block_set_corrupt (sc, bp);if (sb->sb_agcount !=cpu_to_be32 (mp->m_sb.sb_agcount)) -xfs_scrub_block_set_corrupt (sc, bp); +xchk_block_set_corrupt (sc, bp);if (sb->sb_rbmblocks !=cpu_to_be32 (mp->m_sb.sb_rbmblocks)) -xfs_scrub_block_set_corrupt (sc, bp); +xchk_block_set_corrupt (sc, bp);if (sb->sb_logblocks !=cpu_to_be32 (mp->m_sb.sb_logblocks)) -xfs_scrub_block_set_corrupt (sc, bp); +xchk_block_set_corrupt (sc, bp);/* Check sb_versionnum bits that are set at mkfs time. */ vernum_mask = cpu_to_be16(~XFS_SB_VERSION_OKBITS |
@@ -163,7 +163,7 @@ xfs_scrub_superblock( XFS_SB_VERSION_DIRV2BIT);if ((sb->sb_versionnum & vernum_mask) != (cpu_to_be16 (mp->m_sb.sb_versionnum) & vernum_mask)) -xfs_scrub_block_set_corrupt (sc, bp); +xchk_block_set_corrupt (sc, bp);/* Check sb_versionnum bits that can be set after mkfs time. */ vernum_mask = cpu_to_be16(XFS_SB_VERSION_ATTRBIT |
@@ -171,40 +171,40 @@ xfs_scrub_superblock( XFS_SB_VERSION_QUOTABIT);if ((sb->sb_versionnum & vernum_mask) != (cpu_to_be16 (mp->m_sb.sb_versionnum) & vernum_mask)) -xfs_scrub_block_set_preen (sc, bp); +xchk_block_set_preen (sc, bp);if (sb->sb_sectsize !=cpu_to_be16 (mp->m_sb.sb_sectsize)) -xfs_scrub_block_set_corrupt (sc, bp); +xchk_block_set_corrupt (sc, bp);if (sb->sb_inodesize !=cpu_to_be16 (mp->m_sb.sb_inodesize)) -xfs_scrub_block_set_corrupt (sc, bp); +xchk_block_set_corrupt (sc, bp);if (sb->sb_inopblock !=cpu_to_be16 (mp->m_sb.sb_inopblock)) -xfs_scrub_block_set_corrupt (sc, bp); +xchk_block_set_corrupt (sc, bp);if (memcmp (sb->sb_fname, mp->m_sb.sb_fname,sizeof (sb->sb_fname))) -xfs_scrub_block_set_preen (sc, bp); +xchk_block_set_preen (sc, bp);if (sb->sb_blocklog != mp->m_sb.sb_blocklog) -xfs_scrub_block_set_corrupt (sc, bp); +xchk_block_set_corrupt (sc, bp);if (sb->sb_sectlog != mp->m_sb.sb_sectlog) -xfs_scrub_block_set_corrupt (sc, bp); +xchk_block_set_corrupt (sc, bp);if (sb->sb_inodelog != mp->m_sb.sb_inodelog) -xfs_scrub_block_set_corrupt (sc, bp); +xchk_block_set_corrupt (sc, bp);if (sb->sb_inopblog != mp->m_sb.sb_inopblog) -xfs_scrub_block_set_corrupt (sc, bp); +xchk_block_set_corrupt (sc, bp);if (sb->sb_agblklog != mp->m_sb.sb_agblklog) -xfs_scrub_block_set_corrupt (sc, bp); +xchk_block_set_corrupt (sc, bp);if (sb->sb_rextslog != mp->m_sb.sb_rextslog) -xfs_scrub_block_set_corrupt (sc, bp); +xchk_block_set_corrupt (sc, bp);if (sb->sb_imax_pct != mp->m_sb.sb_imax_pct) -xfs_scrub_block_set_preen (sc, bp); +xchk_block_set_preen (sc, bp);/* * Skip the summary counters since we track them in memory anyway.
@@ -212,10 +212,10 @@ xfs_scrub_superblock(*/ if (sb->sb_uquotino !=cpu_to_be64 (mp->m_sb.sb_uquotino)) -xfs_scrub_block_set_preen (sc, bp); +xchk_block_set_preen (sc, bp);if (sb->sb_gquotino !=cpu_to_be64 (mp->m_sb.sb_gquotino)) -xfs_scrub_block_set_preen (sc, bp); +xchk_block_set_preen (sc, bp);/* * Skip the quota flags since repair will force quotacheck.
@@ -223,46 +223,46 @@ xfs_scrub_superblock(*/ if (sb->sb_flags != mp->m_sb.sb_flags) -xfs_scrub_block_set_corrupt (sc, bp); +xchk_block_set_corrupt (sc, bp);if (sb->sb_shared_vn != mp->m_sb.sb_shared_vn) -xfs_scrub_block_set_corrupt (sc, bp); +xchk_block_set_corrupt (sc, bp);if (sb->sb_inoalignmt !=cpu_to_be32 (mp->m_sb.sb_inoalignmt)) -xfs_scrub_block_set_corrupt (sc, bp); +xchk_block_set_corrupt (sc, bp);if (sb->sb_unit !=cpu_to_be32 (mp->m_sb.sb_unit)) -xfs_scrub_block_set_preen (sc, bp); +xchk_block_set_preen (sc, bp);if (sb->sb_width !=cpu_to_be32 (mp->m_sb.sb_width)) -xfs_scrub_block_set_preen (sc, bp); +xchk_block_set_preen (sc, bp);if (sb->sb_dirblklog != mp->m_sb.sb_dirblklog) -xfs_scrub_block_set_corrupt (sc, bp); +xchk_block_set_corrupt (sc, bp);if (sb->sb_logsectlog != mp->m_sb.sb_logsectlog) -xfs_scrub_block_set_corrupt (sc, bp); +xchk_block_set_corrupt (sc, bp);if (sb->sb_logsectsize !=cpu_to_be16 (mp->m_sb.sb_logsectsize)) -xfs_scrub_block_set_corrupt (sc, bp); +xchk_block_set_corrupt (sc, bp);if (sb->sb_logsunit !=cpu_to_be32 (mp->m_sb.sb_logsunit)) -xfs_scrub_block_set_corrupt (sc, bp); +xchk_block_set_corrupt (sc, bp);/* Do we see any invalid bits in sb_features2? */ if (!xfs_sb_version_hasmorebits (&mp->m_sb)) {if (sb->sb_features2 !=0 ) -xfs_scrub_block_set_corrupt (sc, bp); +xchk_block_set_corrupt (sc, bp); }else { v2_ok =XFS_SB_VERSION2_OKBITS ;if (XFS_SB_VERSION_NUM (&mp->m_sb) >=XFS_SB_VERSION_5 ) v2_ok |=XFS_SB_VERSION2_CRCBIT ;if (!!(sb->sb_features2 &cpu_to_be32 (~v2_ok))) -xfs_scrub_block_set_corrupt (sc, bp); +xchk_block_set_corrupt (sc, bp);if (sb->sb_features2 != sb->sb_bad_features2) -xfs_scrub_block_set_preen (sc, bp); +xchk_block_set_preen (sc, bp); }/* Check sb_features2 flags that are set at mkfs time. */
@@ -272,26 +272,26 @@ xfs_scrub_superblock( XFS_SB_VERSION2_FTYPE);if ((sb->sb_features2 & features_mask) != (cpu_to_be32 (mp->m_sb.sb_features2) & features_mask)) -xfs_scrub_block_set_corrupt (sc, bp); +xchk_block_set_corrupt (sc, bp);/* Check sb_features2 flags that can be set after mkfs time. */ features_mask =cpu_to_be32 (XFS_SB_VERSION2_ATTR2BIT );if ((sb->sb_features2 & features_mask) != (cpu_to_be32 (mp->m_sb.sb_features2) & features_mask)) -xfs_scrub_block_set_corrupt (sc, bp); +xchk_block_set_corrupt (sc, bp);if (!xfs_sb_version_hascrc (&mp->m_sb)) {/* all v5 fields must be zero */ if (memchr_inv (&sb->sb_features_compat,0 ,sizeof (struct xfs_dsb ) - offsetof(struct xfs_dsb , sb_features_compat))) -xfs_scrub_block_set_corrupt (sc, bp); +xchk_block_set_corrupt (sc, bp); }else {/* Check compat flags; all are set at mkfs time. */ features_mask =cpu_to_be32 (XFS_SB_FEAT_COMPAT_UNKNOWN );if ((sb->sb_features_compat & features_mask) != (cpu_to_be32 (mp->m_sb.sb_features_compat) & features_mask)) -xfs_scrub_block_set_corrupt (sc, bp); +xchk_block_set_corrupt (sc, bp);/* Check ro compat flags; all are set at mkfs time. */ features_mask = cpu_to_be32(XFS_SB_FEAT_RO_COMPAT_UNKNOWN |
@@ -301,7 +301,7 @@ xfs_scrub_superblock(if ((sb->sb_features_ro_compat & features_mask) != (cpu_to_be32 (mp->m_sb.sb_features_ro_compat) & features_mask)) -xfs_scrub_block_set_corrupt (sc, bp); +xchk_block_set_corrupt (sc, bp);/* Check incompat flags; all are set at mkfs time. */ features_mask = cpu_to_be32(XFS_SB_FEAT_INCOMPAT_UNKNOWN |
@@ -311,22 +311,22 @@ xfs_scrub_superblock(if ((sb->sb_features_incompat & features_mask) != (cpu_to_be32 (mp->m_sb.sb_features_incompat) & features_mask)) -xfs_scrub_block_set_corrupt (sc, bp); +xchk_block_set_corrupt (sc, bp);/* Check log incompat flags; all are set at mkfs time. */ features_mask =cpu_to_be32 (XFS_SB_FEAT_INCOMPAT_LOG_UNKNOWN );if ((sb->sb_features_log_incompat & features_mask) != (cpu_to_be32 (mp->m_sb.sb_features_log_incompat) & features_mask)) -xfs_scrub_block_set_corrupt (sc, bp); +xchk_block_set_corrupt (sc, bp);/* Don't care about sb_crc */ if (sb->sb_spino_align !=cpu_to_be32 (mp->m_sb.sb_spino_align)) -xfs_scrub_block_set_corrupt (sc, bp); +xchk_block_set_corrupt (sc, bp);if (sb->sb_pquotino !=cpu_to_be64 (mp->m_sb.sb_pquotino)) -xfs_scrub_block_set_preen (sc, bp); +xchk_block_set_preen (sc, bp);/* Don't care about sb_lsn */ }
@@ -334,15 +334,15 @@ xfs_scrub_superblock(if (xfs_sb_version_hasmetauuid (&mp->m_sb)) {/* The metadata UUID must be the same for all supers */ if (!uuid_equal (&sb->sb_meta_uuid, &mp->m_sb.sb_meta_uuid)) -xfs_scrub_block_set_corrupt (sc, bp); +xchk_block_set_corrupt (sc, bp); }/* Everything else must be zero. */ if (memchr_inv (sb +1 ,0 ,BBTOB (bp->b_length) -sizeof (struct xfs_dsb ))) -xfs_scrub_block_set_corrupt (sc, bp); +xchk_block_set_corrupt (sc, bp); -xfs_scrub_superblock_xref (sc, bp); +xchk_superblock_xref (sc, bp);return error; }
@@ -351,7 +351,7 @@ xfs_scrub_superblock(/* Tally freespace record lengths. */ STATIC int -xfs_scrub_agf_record_bno_lengths ( +xchk_agf_record_bno_lengths (struct xfs_btree_cur *cur,struct xfs_alloc_rec_incore *rec,void *priv)
@@ -364,7 +364,7 @@ xfs_scrub_agf_record_bno_lengths(/* Check agf_freeblks */ static inline void -xfs_scrub_agf_xref_freeblks ( +xchk_agf_xref_freeblks (struct xfs_scrub_context *sc) {struct xfs_agf *agf =XFS_BUF_TO_AGF (sc->sa.agf_bp);
@@ -375,16 +375,16 @@ xfs_scrub_agf_xref_freeblks(return ; error =xfs_alloc_query_all (sc->sa.bno_cur, - xfs_scrub_agf_record_bno_lengths, &blocks); -if (!xfs_scrub_should_check_xref (sc, &error, &sc->sa.bno_cur)) + xchk_agf_record_bno_lengths, &blocks); +if (!xchk_should_check_xref (sc, &error, &sc->sa.bno_cur))return ;if (blocks !=be32_to_cpu (agf->agf_freeblks)) -xfs_scrub_block_xref_set_corrupt (sc, sc->sa.agf_bp); +xchk_block_xref_set_corrupt (sc, sc->sa.agf_bp); }/* Cross reference the AGF with the cntbt (freespace by length btree) */ static inline void -xfs_scrub_agf_xref_cntbt ( +xchk_agf_xref_cntbt (struct xfs_scrub_context *sc) {struct xfs_agf *agf =XFS_BUF_TO_AGF (sc->sa.agf_bp);
@@ -398,25 +398,25 @@ xfs_scrub_agf_xref_cntbt(/* Any freespace at all? */ error =xfs_alloc_lookup_le (sc->sa.cnt_cur,0 ,-1U , &have); -if (!xfs_scrub_should_check_xref (sc, &error, &sc->sa.cnt_cur)) +if (!xchk_should_check_xref (sc, &error, &sc->sa.cnt_cur))return ;if (!have) {if (agf->agf_freeblks !=be32_to_cpu (0 )) -xfs_scrub_block_xref_set_corrupt (sc, sc->sa.agf_bp); +xchk_block_xref_set_corrupt (sc, sc->sa.agf_bp);return ; }/* Check agf_longest */ error =xfs_alloc_get_rec (sc->sa.cnt_cur, &agbno, &blocks, &have); -if (!xfs_scrub_should_check_xref (sc, &error, &sc->sa.cnt_cur)) +if (!xchk_should_check_xref (sc, &error, &sc->sa.cnt_cur))return ;if (!have || blocks !=be32_to_cpu (agf->agf_longest)) -xfs_scrub_block_xref_set_corrupt (sc, sc->sa.agf_bp); +xchk_block_xref_set_corrupt (sc, sc->sa.agf_bp); }/* Check the btree block counts in the AGF against the btrees. */ STATIC void -xfs_scrub_agf_xref_btreeblks ( +xchk_agf_xref_btreeblks (struct xfs_scrub_context *sc) {struct xfs_agf *agf =XFS_BUF_TO_AGF (sc->sa.agf_bp);
@@ -428,11 +428,11 @@ xfs_scrub_agf_xref_btreeblks(/* Check agf_rmap_blocks; set up for agf_btreeblks check */ if (sc->sa.rmap_cur) { error =xfs_btree_count_blocks (sc->sa.rmap_cur, &blocks); -if (!xfs_scrub_should_check_xref (sc, &error, &sc->sa.rmap_cur)) +if (!xchk_should_check_xref (sc, &error, &sc->sa.rmap_cur))return ; btreeblks = blocks -1 ;if (blocks !=be32_to_cpu (agf->agf_rmap_blocks)) -xfs_scrub_block_xref_set_corrupt (sc, sc->sa.agf_bp); +xchk_block_xref_set_corrupt (sc, sc->sa.agf_bp); }else { btreeblks =0 ; }
@@ -447,22 +447,22 @@ xfs_scrub_agf_xref_btreeblks(/* Check agf_btreeblks */ error =xfs_btree_count_blocks (sc->sa.bno_cur, &blocks); -if (!xfs_scrub_should_check_xref (sc, &error, &sc->sa.bno_cur)) +if (!xchk_should_check_xref (sc, &error, &sc->sa.bno_cur))return ; btreeblks += blocks -1 ; error =xfs_btree_count_blocks (sc->sa.cnt_cur, &blocks); -if (!xfs_scrub_should_check_xref (sc, &error, &sc->sa.cnt_cur)) +if (!xchk_should_check_xref (sc, &error, &sc->sa.cnt_cur))return ; btreeblks += blocks -1 ;if (btreeblks !=be32_to_cpu (agf->agf_btreeblks)) -xfs_scrub_block_xref_set_corrupt (sc, sc->sa.agf_bp); +xchk_block_xref_set_corrupt (sc, sc->sa.agf_bp); }/* Check agf_refcount_blocks against tree size */ static inline void -xfs_scrub_agf_xref_refcblks ( +xchk_agf_xref_refcblks (struct xfs_scrub_context *sc) {struct xfs_agf *agf =XFS_BUF_TO_AGF (sc->sa.agf_bp);
@@ -473,15 +473,15 @@ xfs_scrub_agf_xref_refcblks(return ; error =xfs_btree_count_blocks (sc->sa.refc_cur, &blocks); -if (!xfs_scrub_should_check_xref (sc, &error, &sc->sa.refc_cur)) +if (!xchk_should_check_xref (sc, &error, &sc->sa.refc_cur))return ;if (blocks !=be32_to_cpu (agf->agf_refcount_blocks)) -xfs_scrub_block_xref_set_corrupt (sc, sc->sa.agf_bp); +xchk_block_xref_set_corrupt (sc, sc->sa.agf_bp); }/* Cross-reference with the other btrees. */ STATIC void -xfs_scrub_agf_xref ( +xchk_agf_xref (struct xfs_scrub_context *sc) {struct xfs_owner_info oinfo;
@@ -494,26 +494,26 @@ xfs_scrub_agf_xref( agbno =XFS_AGF_BLOCK (mp); - error =xfs_scrub_ag_btcur_init (sc, &sc->sa); + error =xchk_ag_btcur_init (sc, &sc->sa);if (error)return ; -xfs_scrub_xref_is_used_space (sc, agbno,1 ); -xfs_scrub_agf_xref_freeblks (sc); -xfs_scrub_agf_xref_cntbt (sc); -xfs_scrub_xref_is_not_inode_chunk (sc, agbno,1 ); +xchk_xref_is_used_space (sc, agbno,1 ); +xchk_agf_xref_freeblks (sc); +xchk_agf_xref_cntbt (sc); +xchk_xref_is_not_inode_chunk (sc, agbno,1 );xfs_rmap_ag_owner (&oinfo,XFS_RMAP_OWN_FS ); -xfs_scrub_xref_is_owned_by (sc, agbno,1 , &oinfo); -xfs_scrub_agf_xref_btreeblks (sc); -xfs_scrub_xref_is_not_shared (sc, agbno,1 ); -xfs_scrub_agf_xref_refcblks (sc); +xchk_xref_is_owned_by (sc, agbno,1 , &oinfo); +xchk_agf_xref_btreeblks (sc); +xchk_xref_is_not_shared (sc, agbno,1 ); +xchk_agf_xref_refcblks (sc);/* scrub teardown will take care of sc->sa for us */ }/* Scrub the AGF. */ int -xfs_scrub_agf ( +xchk_agf (struct xfs_scrub_context *sc) {struct xfs_mount *mp = sc->mp;
@@ -529,54 +529,54 @@ xfs_scrub_agf(int error =0 ; agno = sc->sa.agno = sc->sm->sm_agno; - error =xfs_scrub_ag_read_headers (sc, agno, &sc->sa.agi_bp, + error =xchk_ag_read_headers (sc, agno, &sc->sa.agi_bp, &sc->sa.agf_bp, &sc->sa.agfl_bp); -if (!xfs_scrub_process_error (sc, agno,XFS_AGF_BLOCK (sc->mp), &error)) +if (!xchk_process_error (sc, agno,XFS_AGF_BLOCK (sc->mp), &error)) goto out; -xfs_scrub_buffer_recheck (sc, sc->sa.agf_bp); +xchk_buffer_recheck (sc, sc->sa.agf_bp); agf =XFS_BUF_TO_AGF (sc->sa.agf_bp);/* Check the AG length */ eoag =be32_to_cpu (agf->agf_length);if (eoag !=xfs_ag_block_count (mp, agno)) -xfs_scrub_block_set_corrupt (sc, sc->sa.agf_bp); +xchk_block_set_corrupt (sc, sc->sa.agf_bp);/* Check the AGF btree roots and levels */ agbno =be32_to_cpu (agf->agf_roots[XFS_BTNUM_BNO ]);if (!xfs_verify_agbno (mp, agno, agbno)) -xfs_scrub_block_set_corrupt (sc, sc->sa.agf_bp); +xchk_block_set_corrupt (sc, sc->sa.agf_bp); agbno =be32_to_cpu (agf->agf_roots[XFS_BTNUM_CNT ]);if (!xfs_verify_agbno (mp, agno, agbno)) -xfs_scrub_block_set_corrupt (sc, sc->sa.agf_bp); +xchk_block_set_corrupt (sc, sc->sa.agf_bp); level =be32_to_cpu (agf->agf_levels[XFS_BTNUM_BNO ]);if (level <=0 || level >XFS_BTREE_MAXLEVELS ) -xfs_scrub_block_set_corrupt (sc, sc->sa.agf_bp); +xchk_block_set_corrupt (sc, sc->sa.agf_bp); level =be32_to_cpu (agf->agf_levels[XFS_BTNUM_CNT ]);if (level <=0 || level >XFS_BTREE_MAXLEVELS ) -xfs_scrub_block_set_corrupt (sc, sc->sa.agf_bp); +xchk_block_set_corrupt (sc, sc->sa.agf_bp);if (xfs_sb_version_hasrmapbt (&mp->m_sb)) { agbno =be32_to_cpu (agf->agf_roots[XFS_BTNUM_RMAP ]);if (!xfs_verify_agbno (mp, agno, agbno)) -xfs_scrub_block_set_corrupt (sc, sc->sa.agf_bp); +xchk_block_set_corrupt (sc, sc->sa.agf_bp); level =be32_to_cpu (agf->agf_levels[XFS_BTNUM_RMAP ]);if (level <=0 || level >XFS_BTREE_MAXLEVELS ) -xfs_scrub_block_set_corrupt (sc, sc->sa.agf_bp); +xchk_block_set_corrupt (sc, sc->sa.agf_bp); }if (xfs_sb_version_hasreflink (&mp->m_sb)) { agbno =be32_to_cpu (agf->agf_refcount_root);if (!xfs_verify_agbno (mp, agno, agbno)) -xfs_scrub_block_set_corrupt (sc, sc->sa.agf_bp); +xchk_block_set_corrupt (sc, sc->sa.agf_bp); level =be32_to_cpu (agf->agf_refcount_level);if (level <=0 || level >XFS_BTREE_MAXLEVELS ) -xfs_scrub_block_set_corrupt (sc, sc->sa.agf_bp); +xchk_block_set_corrupt (sc, sc->sa.agf_bp); }/* Check the AGFL counters */
@@ -588,16 +588,16 @@ xfs_scrub_agf(else fl_count =xfs_agfl_size (mp) - agfl_first + agfl_last +1 ;if (agfl_count !=0 && fl_count != agfl_count) -xfs_scrub_block_set_corrupt (sc, sc->sa.agf_bp); +xchk_block_set_corrupt (sc, sc->sa.agf_bp); -xfs_scrub_agf_xref (sc); +xchk_agf_xref (sc); out:return error; }/* AGFL */ -struct xfs_scrub_agfl_info { +struct xchk_agfl_info {struct xfs_owner_info oinfo;unsigned int sz_entries;unsigned int nr_entries;
@@ -607,7 +607,7 @@ struct xfs_scrub_agfl_info {/* Cross-reference with the other btrees. */ STATIC void -xfs_scrub_agfl_block_xref ( +xchk_agfl_block_xref (struct xfs_scrub_context *sc,xfs_agblock_t agbno,struct xfs_owner_info *oinfo)
@@ -615,20 +615,20 @@ xfs_scrub_agfl_block_xref(if (sc->sm->sm_flags &XFS_SCRUB_OFLAG_CORRUPT )return ; -xfs_scrub_xref_is_used_space (sc, agbno,1 ); -xfs_scrub_xref_is_not_inode_chunk (sc, agbno,1 ); -xfs_scrub_xref_is_owned_by (sc, agbno,1 , oinfo); -xfs_scrub_xref_is_not_shared (sc, agbno,1 ); +xchk_xref_is_used_space (sc, agbno,1 ); +xchk_xref_is_not_inode_chunk (sc, agbno,1 ); +xchk_xref_is_owned_by (sc, agbno,1 , oinfo); +xchk_xref_is_not_shared (sc, agbno,1 ); }/* Scrub an AGFL block. */ STATIC int -xfs_scrub_agfl_block ( +xchk_agfl_block (struct xfs_mount *mp,xfs_agblock_t agbno,void *priv) { -struct xfs_scrub_agfl_info *sai = priv; +struct xchk_agfl_info *sai = priv;struct xfs_scrub_context *sc = sai->sc;xfs_agnumber_t agno = sc->sa.agno;
@@ -636,9 +636,9 @@ xfs_scrub_agfl_block( sai->nr_entries < sai->sz_entries) sai->entries[sai->nr_entries++] = agbno; else - xfs_scrub_block_set_corrupt(sc, sc->sa.agfl_bp); + xchk_block_set_corrupt(sc, sc->sa.agfl_bp); -xfs_scrub_agfl_block_xref (sc, agbno, priv); +xchk_agfl_block_xref (sc, agbno, priv);if (sc->sm->sm_flags &XFS_SCRUB_OFLAG_CORRUPT )return XFS_BTREE_QUERY_RANGE_ABORT ;
@@ -647,7 +647,7 @@ xfs_scrub_agfl_block( }static int -xfs_scrub_agblock_cmp ( +xchk_agblock_cmp (const void *pa,const void *pb) {
@@ -659,7 +659,7 @@ xfs_scrub_agblock_cmp(/* Cross-reference with the other btrees. */ STATIC void -xfs_scrub_agfl_xref ( +xchk_agfl_xref (struct xfs_scrub_context *sc) {struct xfs_owner_info oinfo;
@@ -672,15 +672,15 @@ xfs_scrub_agfl_xref( agbno =XFS_AGFL_BLOCK (mp); - error =xfs_scrub_ag_btcur_init (sc, &sc->sa); + error =xchk_ag_btcur_init (sc, &sc->sa);if (error)return ; -xfs_scrub_xref_is_used_space (sc, agbno,1 ); -xfs_scrub_xref_is_not_inode_chunk (sc, agbno,1 ); +xchk_xref_is_used_space (sc, agbno,1 ); +xchk_xref_is_not_inode_chunk (sc, agbno,1 );xfs_rmap_ag_owner (&oinfo,XFS_RMAP_OWN_FS ); -xfs_scrub_xref_is_owned_by (sc, agbno,1 , &oinfo); -xfs_scrub_xref_is_not_shared (sc, agbno,1 ); +xchk_xref_is_owned_by (sc, agbno,1 , &oinfo); +xchk_xref_is_not_shared (sc, agbno,1 );/* * Scrub teardown will take care of sc->sa for us. Leave sc->sa
@@ -690,10 +690,10 @@ xfs_scrub_agfl_xref(/* Scrub the AGFL. */ int -xfs_scrub_agfl ( +xchk_agfl (struct xfs_scrub_context *sc) { -struct xfs_scrub_agfl_info sai; +struct xchk_agfl_info sai;struct xfs_agf *agf;xfs_agnumber_t agno;unsigned int agflcount;
@@ -701,15 +701,15 @@ xfs_scrub_agfl(int error; agno = sc->sa.agno = sc->sm->sm_agno; - error =xfs_scrub_ag_read_headers (sc, agno, &sc->sa.agi_bp, + error =xchk_ag_read_headers (sc, agno, &sc->sa.agi_bp, &sc->sa.agf_bp, &sc->sa.agfl_bp); -if (!xfs_scrub_process_error (sc, agno,XFS_AGFL_BLOCK (sc->mp), &error)) +if (!xchk_process_error (sc, agno,XFS_AGFL_BLOCK (sc->mp), &error)) goto out;if (!sc->sa.agf_bp)return -EFSCORRUPTED ; -xfs_scrub_buffer_recheck (sc, sc->sa.agfl_bp); +xchk_buffer_recheck (sc, sc->sa.agfl_bp); -xfs_scrub_agfl_xref (sc); +xchk_agfl_xref (sc);if (sc->sm->sm_flags &XFS_SCRUB_OFLAG_CORRUPT ) goto out;
@@ -718,7 +718,7 @@ xfs_scrub_agfl( agf =XFS_BUF_TO_AGF (sc->sa.agf_bp); agflcount =be32_to_cpu (agf->agf_flcount);if (agflcount >xfs_agfl_size (sc->mp)) { -xfs_scrub_block_set_corrupt (sc, sc->sa.agf_bp); +xchk_block_set_corrupt (sc, sc->sa.agf_bp); goto out; }memset (&sai,0 ,sizeof (sai));
@@ -734,7 +734,7 @@ xfs_scrub_agfl(/* Check the blocks in the AGFL. */ xfs_rmap_ag_owner (&sai.oinfo,XFS_RMAP_OWN_AG ); error =xfs_agfl_walk (sc->mp,XFS_BUF_TO_AGF (sc->sa.agf_bp), - sc->sa.agfl_bp, xfs_scrub_agfl_block, &sai); + sc->sa.agfl_bp, xchk_agfl_block, &sai);if (error ==XFS_BTREE_QUERY_RANGE_ABORT ) { error =0 ; goto out_free;
@@ -743,16 +743,16 @@ xfs_scrub_agfl( goto out_free;if (agflcount != sai.nr_entries) { -xfs_scrub_block_set_corrupt (sc, sc->sa.agf_bp); +xchk_block_set_corrupt (sc, sc->sa.agf_bp); goto out_free; }/* Sort entries, check for duplicates. */ sort (sai.entries, sai.nr_entries,sizeof (sai.entries[0 ]), - xfs_scrub_agblock_cmp,NULL ); + xchk_agblock_cmp,NULL );for (i =1 ; i < sai.nr_entries; i++) {if (sai.entries[i] == sai.entries[i -1 ]) { -xfs_scrub_block_set_corrupt (sc, sc->sa.agf_bp); +xchk_block_set_corrupt (sc, sc->sa.agf_bp);break ; } }
@@ -767,7 +767,7 @@ xfs_scrub_agfl(/* Check agi_count/agi_freecount */ static inline void -xfs_scrub_agi_xref_icounts ( +xchk_agi_xref_icounts (struct xfs_scrub_context *sc) {struct xfs_agi *agi =XFS_BUF_TO_AGI (sc->sa.agi_bp);
@@ -779,16 +779,16 @@ xfs_scrub_agi_xref_icounts(return ; error =xfs_ialloc_count_inodes (sc->sa.ino_cur, &icount, &freecount); -if (!xfs_scrub_should_check_xref (sc, &error, &sc->sa.ino_cur)) +if (!xchk_should_check_xref (sc, &error, &sc->sa.ino_cur))return ;if (be32_to_cpu (agi->agi_count) != icount ||be32_to_cpu (agi->agi_freecount) != freecount) -xfs_scrub_block_xref_set_corrupt (sc, sc->sa.agi_bp); +xchk_block_xref_set_corrupt (sc, sc->sa.agi_bp); }/* Cross-reference with the other btrees. */ STATIC void -xfs_scrub_agi_xref ( +xchk_agi_xref (struct xfs_scrub_context *sc) {struct xfs_owner_info oinfo;
@@ -801,23 +801,23 @@ xfs_scrub_agi_xref( agbno =XFS_AGI_BLOCK (mp); - error =xfs_scrub_ag_btcur_init (sc, &sc->sa); + error =xchk_ag_btcur_init (sc, &sc->sa);if (error)return ; -xfs_scrub_xref_is_used_space (sc, agbno,1 ); -xfs_scrub_xref_is_not_inode_chunk (sc, agbno,1 ); -xfs_scrub_agi_xref_icounts (sc); +xchk_xref_is_used_space (sc, agbno,1 ); +xchk_xref_is_not_inode_chunk (sc, agbno,1 ); +xchk_agi_xref_icounts (sc);xfs_rmap_ag_owner (&oinfo,XFS_RMAP_OWN_FS ); -xfs_scrub_xref_is_owned_by (sc, agbno,1 , &oinfo); -xfs_scrub_xref_is_not_shared (sc, agbno,1 ); +xchk_xref_is_owned_by (sc, agbno,1 , &oinfo); +xchk_xref_is_not_shared (sc, agbno,1 );/* scrub teardown will take care of sc->sa for us */ }/* Scrub the AGI. */ int -xfs_scrub_agi ( +xchk_agi (struct xfs_scrub_context *sc) {struct xfs_mount *mp = sc->mp;
@@ -834,36 +834,36 @@ xfs_scrub_agi(int error =0 ; agno = sc->sa.agno = sc->sm->sm_agno; - error =xfs_scrub_ag_read_headers (sc, agno, &sc->sa.agi_bp, + error =xchk_ag_read_headers (sc, agno, &sc->sa.agi_bp, &sc->sa.agf_bp, &sc->sa.agfl_bp); -if (!xfs_scrub_process_error (sc, agno,XFS_AGI_BLOCK (sc->mp), &error)) +if (!xchk_process_error (sc, agno,XFS_AGI_BLOCK (sc->mp), &error)) goto out; -xfs_scrub_buffer_recheck (sc, sc->sa.agi_bp); +xchk_buffer_recheck (sc, sc->sa.agi_bp); agi =XFS_BUF_TO_AGI (sc->sa.agi_bp);/* Check the AG length */ eoag =be32_to_cpu (agi->agi_length);if (eoag !=xfs_ag_block_count (mp, agno)) -xfs_scrub_block_set_corrupt (sc, sc->sa.agi_bp); +xchk_block_set_corrupt (sc, sc->sa.agi_bp);/* Check btree roots and levels */ agbno =be32_to_cpu (agi->agi_root);if (!xfs_verify_agbno (mp, agno, agbno)) -xfs_scrub_block_set_corrupt (sc, sc->sa.agi_bp); +xchk_block_set_corrupt (sc, sc->sa.agi_bp); level =be32_to_cpu (agi->agi_level);if (level <=0 || level >XFS_BTREE_MAXLEVELS ) -xfs_scrub_block_set_corrupt (sc, sc->sa.agi_bp); +xchk_block_set_corrupt (sc, sc->sa.agi_bp);if (xfs_sb_version_hasfinobt (&mp->m_sb)) { agbno =be32_to_cpu (agi->agi_free_root);if (!xfs_verify_agbno (mp, agno, agbno)) -xfs_scrub_block_set_corrupt (sc, sc->sa.agi_bp); +xchk_block_set_corrupt (sc, sc->sa.agi_bp); level =be32_to_cpu (agi->agi_free_level);if (level <=0 || level >XFS_BTREE_MAXLEVELS ) -xfs_scrub_block_set_corrupt (sc, sc->sa.agi_bp); +xchk_block_set_corrupt (sc, sc->sa.agi_bp); }/* Check inode counters */
@@ -871,16 +871,16 @@ xfs_scrub_agi( icount =be32_to_cpu (agi->agi_count);if (icount > last_agino - first_agino +1 || icount <be32_to_cpu (agi->agi_freecount)) -xfs_scrub_block_set_corrupt (sc, sc->sa.agi_bp); +xchk_block_set_corrupt (sc, sc->sa.agi_bp);/* Check inode pointers */ agino =be32_to_cpu (agi->agi_newino);if (agino !=NULLAGINO && !xfs_verify_agino (mp, agno, agino)) -xfs_scrub_block_set_corrupt (sc, sc->sa.agi_bp); +xchk_block_set_corrupt (sc, sc->sa.agi_bp); agino =be32_to_cpu (agi->agi_dirino);if (agino !=NULLAGINO && !xfs_verify_agino (mp, agno, agino)) -xfs_scrub_block_set_corrupt (sc, sc->sa.agi_bp); +xchk_block_set_corrupt (sc, sc->sa.agi_bp);/* Check unlinked inode buckets */ for (i =0 ; i <XFS_AGI_UNLINKED_BUCKETS ; i++) {
@@ -888,13 +888,13 @@ xfs_scrub_agi(if (agino ==NULLAGINO )continue ;if (!xfs_verify_agino (mp, agno, agino)) -xfs_scrub_block_set_corrupt (sc, sc->sa.agi_bp); +xchk_block_set_corrupt (sc, sc->sa.agi_bp); }if (agi->agi_pad32 !=cpu_to_be32 (0 )) -xfs_scrub_block_set_corrupt (sc, sc->sa.agi_bp); +xchk_block_set_corrupt (sc, sc->sa.agi_bp); -xfs_scrub_agi_xref (sc); +xchk_agi_xref (sc); out:return error; }
fs/xfs/scrub/alloc.c +28 -28
148 lines not on this page · raw message
fs/xfs/scrub/attr.c +53 -53
324 lines not on this page · raw message
fs/xfs/scrub/bmap.c +88 -88
556 lines not on this page · raw message
fs/xfs/scrub/btree.c +83 -83
526 lines not on this page · raw message
fs/xfs/scrub/btree.h +11 -11
@@ -9,32 +9,32 @@/* btree scrub */ /* Check for btree operation errors. */ -bool xfs_scrub_btree_process_error (struct xfs_scrub_context *sc, +bool xchk_btree_process_error (struct xfs_scrub_context *sc,struct xfs_btree_cur *cur,int level,int *error);/* Check for btree xref operation errors. */ -bool xfs_scrub_btree_xref_process_error (struct xfs_scrub_context *sc, +bool xchk_btree_xref_process_error (struct xfs_scrub_context *sc,struct xfs_btree_cur *cur,int level,int *error);/* Check for btree corruption. */ -void xfs_scrub_btree_set_corrupt (struct xfs_scrub_context *sc, +void xchk_btree_set_corrupt (struct xfs_scrub_context *sc,struct xfs_btree_cur *cur,int level);/* Check for btree xref discrepancies. */ -void xfs_scrub_btree_xref_set_corrupt (struct xfs_scrub_context *sc, +void xchk_btree_xref_set_corrupt (struct xfs_scrub_context *sc,struct xfs_btree_cur *cur,int level); -struct xfs_scrub_btree ; -typedef int (*xfs_scrub_btree_rec_fn )( -struct xfs_scrub_btree *bs, +struct xchk_btree ; +typedef int (*xchk_btree_rec_fn )( +struct xchk_btree *bs,union xfs_btree_rec *rec); -struct xfs_scrub_btree { +struct xchk_btree {/* caller-provided scrub state */ struct xfs_scrub_context *sc;struct xfs_btree_cur *cur; -xfs_scrub_btree_rec_fn scrub_rec; +xchk_btree_rec_fn scrub_rec;struct xfs_owner_info *oinfo;void *private;
@@ -45,8 +45,8 @@ struct xfs_scrub_btree {bool firstkey[XFS_BTREE_MAXLEVELS ]; struct list_head to_check; }; -int xfs_scrub_btree (struct xfs_scrub_context *sc,struct xfs_btree_cur *cur, -xfs_scrub_btree_rec_fn scrub_fn, +int xchk_btree (struct xfs_scrub_context *sc,struct xfs_btree_cur *cur, +xchk_btree_rec_fn scrub_fn,struct xfs_owner_info *oinfo,void *private);#endif /* __XFS_SCRUB_BTREE_H__ */
fs/xfs/scrub/common.c +86 -86
551 lines not on this page · raw message
fs/xfs/scrub/common.h +51 -51
102 lines not on this page · raw message
fs/xfs/scrub/dabtree.c +62 -62
124 lines not on this page · raw message
fs/xfs/scrub/dir.c +85 -85
170 lines not on this page · raw message
fs/xfs/scrub/ialloc.c +69 -69
138 lines not on this page · raw message
fs/xfs/scrub/inode.c +80 -80
160 lines not on this page · raw message
fs/xfs/scrub/parent.c +31 -31
62 lines not on this page · raw message
fs/xfs/scrub/quota.c +32 -32
64 lines not on this page · raw message
fs/xfs/scrub/refcount.c +57 -57
114 lines not on this page · raw message
fs/xfs/scrub/rmap.c +39 -39
78 lines not on this page · raw message
fs/xfs/scrub/scrub.c +74 -68
142 lines not on this page · raw message
fs/xfs/scrub/scrub.h +41 -41
82 lines not on this page · raw message
fs/xfs/scrub/trace.h +35 -35
70 lines not on this page · raw message
The rest of this diff is not shown. View the raw message.
Part of the diff is not shown here. View the raw message.
Re: [PATCH 5/8] xfs: shorten xfs_scrub_ prefix
Quoted 9 lines · Darrick J. Wong
From: Darrick J. Wong <[email protected]>
Shorten all the metadata checking
xfs_scrub_prefixes toxchk_. After this, the only xfs_scrub* symbols are the ones that pertain to both scrub and repair. Whitespace damage will be fixed in a subsequent patch. There are no functional changes.Signed-off-by Darrick J. Wong <[email protected]>---
I have no major preference on the name, but looks like a straight search/replace to me:
Quoted 7,403 lines
fs/xfs/scrub/agheader.c | 318 ++++++++++++++++++++++++----------------------- fs/xfs/scrub/alloc.c | 56 ++++---- fs/xfs/scrub/attr.c | 106 ++++++++-------- fs/xfs/scrub/bmap.c | 176 +++++++++++++------------- fs/xfs/scrub/btree.c | 166 ++++++++++++------------- fs/xfs/scrub/btree.h | 22 ++- fs/xfs/scrub/common.c | 172 +++++++++++++------------ fs/xfs/scrub/common.h | 102 ++++++++------- fs/xfs/scrub/dabtree.c | 124 +++++++++--------- fs/xfs/scrub/dabtree.h | 14 +- fs/xfs/scrub/dir.c | 170 +++++++++++++------------ fs/xfs/scrub/ialloc.c | 138 ++++++++++---------- fs/xfs/scrub/inode.c | 160 ++++++++++++------------ fs/xfs/scrub/parent.c | 62 +++++---- fs/xfs/scrub/quota.c | 64 +++++---- fs/xfs/scrub/refcount.c | 114 ++++++++--------- fs/xfs/scrub/repair.c | 4 - fs/xfs/scrub/rmap.c | 78 ++++++------ fs/xfs/scrub/rtbitmap.c | 30 ++-- fs/xfs/scrub/scrub.c | 142 +++++++++++---------- fs/xfs/scrub/scrub.h | 82 ++++++------ fs/xfs/scrub/symlink.c | 14 +- fs/xfs/scrub/trace.c | 2 fs/xfs/scrub/trace.h | 70 +++++----- 24 files changed, 1196 insertions(+), 1190 deletions(-)fs/xfs/scrub/agheader.c +159
-159@@ -28,7 +28,7 @@/* Cross-reference with the other btrees. */ STATIC void -xfs_scrub_superblock_xref ( +xchk_superblock_xref (struct xfs_scrub_context *sc,struct xfs_buf *bp) {@@ -43,15 +43,15 @@ xfs_scrub_superblock_xref( agbno =XFS_SB_BLOCK (mp); - error =xfs_scrub_ag_init (sc, agno, &sc->sa); -if (!xfs_scrub_xref_process_error (sc, agno, agbno, &error)) + error =xchk_ag_init (sc, agno, &sc->sa); +if (!xchk_xref_process_error (sc, agno, agbno, &error))return ; -xfs_scrub_xref_is_used_space (sc, agbno,1 ); -xfs_scrub_xref_is_not_inode_chunk (sc, agbno,1 ); +xchk_xref_is_used_space (sc, agbno,1 ); +xchk_xref_is_not_inode_chunk (sc, agbno,1 );xfs_rmap_ag_owner (&oinfo,XFS_RMAP_OWN_FS ); -xfs_scrub_xref_is_owned_by (sc, agbno,1 , &oinfo); -xfs_scrub_xref_is_not_shared (sc, agbno,1 ); +xchk_xref_is_owned_by (sc, agbno,1 , &oinfo); +xchk_xref_is_not_shared (sc, agbno,1 );/* scrub teardown will take care of sc->sa for us */ }@@ -65,7 +65,7 @@ xfs_scrub_superblock_xref(* sb 0 is ok and we can use its information to check everything else. */ int -xfs_scrub_superblock ( +xchk_superblock (struct xfs_scrub_context *sc) {struct xfs_mount *mp = sc->mp;@@ -98,7 +98,7 @@ xfs_scrub_superblock(default :break ; } -if (!xfs_scrub_process_error (sc, agno,XFS_SB_BLOCK (mp), &error)) +if (!xchk_process_error (sc, agno,XFS_SB_BLOCK (mp), &error))return error; sb =XFS_BUF_TO_SBP (bp);@@ -110,46 +110,46 @@ xfs_scrub_superblock(* checked. */ if (sb->sb_blocksize !=cpu_to_be32 (mp->m_sb.sb_blocksize)) -xfs_scrub_block_set_corrupt (sc, bp); +xchk_block_set_corrupt (sc, bp);if (sb->sb_dblocks !=cpu_to_be64 (mp->m_sb.sb_dblocks)) -xfs_scrub_block_set_corrupt (sc, bp); +xchk_block_set_corrupt (sc, bp);if (sb->sb_rblocks !=cpu_to_be64 (mp->m_sb.sb_rblocks)) -xfs_scrub_block_set_corrupt (sc, bp); +xchk_block_set_corrupt (sc, bp);if (sb->sb_rextents !=cpu_to_be64 (mp->m_sb.sb_rextents)) -xfs_scrub_block_set_corrupt (sc, bp); +xchk_block_set_corrupt (sc, bp);if (!uuid_equal (&sb->sb_uuid, &mp->m_sb.sb_uuid)) -xfs_scrub_block_set_preen (sc, bp); +xchk_block_set_preen (sc, bp);if (sb->sb_logstart !=cpu_to_be64 (mp->m_sb.sb_logstart)) -xfs_scrub_block_set_corrupt (sc, bp); +xchk_block_set_corrupt (sc, bp);if (sb->sb_rootino !=cpu_to_be64 (mp->m_sb.sb_rootino)) -xfs_scrub_block_set_preen (sc, bp); +xchk_block_set_preen (sc, bp);if (sb->sb_rbmino !=cpu_to_be64 (mp->m_sb.sb_rbmino)) -xfs_scrub_block_set_preen (sc, bp); +xchk_block_set_preen (sc, bp);if (sb->sb_rsumino !=cpu_to_be64 (mp->m_sb.sb_rsumino)) -xfs_scrub_block_set_preen (sc, bp); +xchk_block_set_preen (sc, bp);if (sb->sb_rextsize !=cpu_to_be32 (mp->m_sb.sb_rextsize)) -xfs_scrub_block_set_corrupt (sc, bp); +xchk_block_set_corrupt (sc, bp);if (sb->sb_agblocks !=cpu_to_be32 (mp->m_sb.sb_agblocks)) -xfs_scrub_block_set_corrupt (sc, bp); +xchk_block_set_corrupt (sc, bp);if (sb->sb_agcount !=cpu_to_be32 (mp->m_sb.sb_agcount)) -xfs_scrub_block_set_corrupt (sc, bp); +xchk_block_set_corrupt (sc, bp);if (sb->sb_rbmblocks !=cpu_to_be32 (mp->m_sb.sb_rbmblocks)) -xfs_scrub_block_set_corrupt (sc, bp); +xchk_block_set_corrupt (sc, bp);if (sb->sb_logblocks !=cpu_to_be32 (mp->m_sb.sb_logblocks)) -xfs_scrub_block_set_corrupt (sc, bp); +xchk_block_set_corrupt (sc, bp);/* Check sb_versionnum bits that are set at mkfs time. */ vernum_mask = cpu_to_be16(~XFS_SB_VERSION_OKBITS |@@ -163,7 +163,7 @@ xfs_scrub_superblock( XFS_SB_VERSION_DIRV2BIT);if ((sb->sb_versionnum & vernum_mask) != (cpu_to_be16 (mp->m_sb.sb_versionnum) & vernum_mask)) -xfs_scrub_block_set_corrupt (sc, bp); +xchk_block_set_corrupt (sc, bp);/* Check sb_versionnum bits that can be set after mkfs time. */ vernum_mask = cpu_to_be16(XFS_SB_VERSION_ATTRBIT |@@ -171,40 +171,40 @@ xfs_scrub_superblock( XFS_SB_VERSION_QUOTABIT);if ((sb->sb_versionnum & vernum_mask) != (cpu_to_be16 (mp->m_sb.sb_versionnum) & vernum_mask)) -xfs_scrub_block_set_preen (sc, bp); +xchk_block_set_preen (sc, bp);if (sb->sb_sectsize !=cpu_to_be16 (mp->m_sb.sb_sectsize)) -xfs_scrub_block_set_corrupt (sc, bp); +xchk_block_set_corrupt (sc, bp);if (sb->sb_inodesize !=cpu_to_be16 (mp->m_sb.sb_inodesize)) -xfs_scrub_block_set_corrupt (sc, bp); +xchk_block_set_corrupt (sc, bp);if (sb->sb_inopblock !=cpu_to_be16 (mp->m_sb.sb_inopblock)) -xfs_scrub_block_set_corrupt (sc, bp); +xchk_block_set_corrupt (sc, bp);if (memcmp (sb->sb_fname, mp->m_sb.sb_fname,sizeof (sb->sb_fname))) -xfs_scrub_block_set_preen (sc, bp); +xchk_block_set_preen (sc, bp);if (sb->sb_blocklog != mp->m_sb.sb_blocklog) -xfs_scrub_block_set_corrupt (sc, bp); +xchk_block_set_corrupt (sc, bp);if (sb->sb_sectlog != mp->m_sb.sb_sectlog) -xfs_scrub_block_set_corrupt (sc, bp); +xchk_block_set_corrupt (sc, bp);if (sb->sb_inodelog != mp->m_sb.sb_inodelog) -xfs_scrub_block_set_corrupt (sc, bp); +xchk_block_set_corrupt (sc, bp);if (sb->sb_inopblog != mp->m_sb.sb_inopblog) -xfs_scrub_block_set_corrupt (sc, bp); +xchk_block_set_corrupt (sc, bp);if (sb->sb_agblklog != mp->m_sb.sb_agblklog) -xfs_scrub_block_set_corrupt (sc, bp); +xchk_block_set_corrupt (sc, bp);if (sb->sb_rextslog != mp->m_sb.sb_rextslog) -xfs_scrub_block_set_corrupt (sc, bp); +xchk_block_set_corrupt (sc, bp);if (sb->sb_imax_pct != mp->m_sb.sb_imax_pct) -xfs_scrub_block_set_preen (sc, bp); +xchk_block_set_preen (sc, bp);/* * Skip the summary counters since we track them in memory anyway. @@ -212,10 +212,10 @@ xfs_scrub_superblock(*/ if (sb->sb_uquotino !=cpu_to_be64 (mp->m_sb.sb_uquotino)) -xfs_scrub_block_set_preen (sc, bp); +xchk_block_set_preen (sc, bp);if (sb->sb_gquotino !=cpu_to_be64 (mp->m_sb.sb_gquotino)) -xfs_scrub_block_set_preen (sc, bp); +xchk_block_set_preen (sc, bp);/* * Skip the quota flags since repair will force quotacheck. @@ -223,46 +223,46 @@ xfs_scrub_superblock(*/ if (sb->sb_flags != mp->m_sb.sb_flags) -xfs_scrub_block_set_corrupt (sc, bp); +xchk_block_set_corrupt (sc, bp);if (sb->sb_shared_vn != mp->m_sb.sb_shared_vn) -xfs_scrub_block_set_corrupt (sc, bp); +xchk_block_set_corrupt (sc, bp);if (sb->sb_inoalignmt !=cpu_to_be32 (mp->m_sb.sb_inoalignmt)) -xfs_scrub_block_set_corrupt (sc, bp); +xchk_block_set_corrupt (sc, bp);if (sb->sb_unit !=cpu_to_be32 (mp->m_sb.sb_unit)) -xfs_scrub_block_set_preen (sc, bp); +xchk_block_set_preen (sc, bp);if (sb->sb_width !=cpu_to_be32 (mp->m_sb.sb_width)) -xfs_scrub_block_set_preen (sc, bp); +xchk_block_set_preen (sc, bp);if (sb->sb_dirblklog != mp->m_sb.sb_dirblklog) -xfs_scrub_block_set_corrupt (sc, bp); +xchk_block_set_corrupt (sc, bp);if (sb->sb_logsectlog != mp->m_sb.sb_logsectlog) -xfs_scrub_block_set_corrupt (sc, bp); +xchk_block_set_corrupt (sc, bp);if (sb->sb_logsectsize !=cpu_to_be16 (mp->m_sb.sb_logsectsize)) -xfs_scrub_block_set_corrupt (sc, bp); +xchk_block_set_corrupt (sc, bp);if (sb->sb_logsunit !=cpu_to_be32 (mp->m_sb.sb_logsunit)) -xfs_scrub_block_set_corrupt (sc, bp); +xchk_block_set_corrupt (sc, bp);/* Do we see any invalid bits in sb_features2? */ if (!xfs_sb_version_hasmorebits (&mp->m_sb)) {if (sb->sb_features2 !=0 ) -xfs_scrub_block_set_corrupt (sc, bp); +xchk_block_set_corrupt (sc, bp); }else { v2_ok =XFS_SB_VERSION2_OKBITS ;if (XFS_SB_VERSION_NUM (&mp->m_sb) >=XFS_SB_VERSION_5 ) v2_ok |=XFS_SB_VERSION2_CRCBIT ;if (!!(sb->sb_features2 &cpu_to_be32 (~v2_ok))) -xfs_scrub_block_set_corrupt (sc, bp); +xchk_block_set_corrupt (sc, bp);if (sb->sb_features2 != sb->sb_bad_features2) -xfs_scrub_block_set_preen (sc, bp); +xchk_block_set_preen (sc, bp); }/* Check sb_features2 flags that are set at mkfs time. */ @@ -272,26 +272,26 @@ xfs_scrub_superblock( XFS_SB_VERSION2_FTYPE);if ((sb->sb_features2 & features_mask) != (cpu_to_be32 (mp->m_sb.sb_features2) & features_mask)) -xfs_scrub_block_set_corrupt (sc, bp); +xchk_block_set_corrupt (sc, bp);/* Check sb_features2 flags that can be set after mkfs time. */ features_mask =cpu_to_be32 (XFS_SB_VERSION2_ATTR2BIT );if ((sb->sb_features2 & features_mask) != (cpu_to_be32 (mp->m_sb.sb_features2) & features_mask)) -xfs_scrub_block_set_corrupt (sc, bp); +xchk_block_set_corrupt (sc, bp);if (!xfs_sb_version_hascrc (&mp->m_sb)) {/* all v5 fields must be zero */ if (memchr_inv (&sb->sb_features_compat,0 ,sizeof (struct xfs_dsb ) - offsetof(struct xfs_dsb , sb_features_compat))) -xfs_scrub_block_set_corrupt (sc, bp); +xchk_block_set_corrupt (sc, bp); }else {/* Check compat flags; all are set at mkfs time. */ features_mask =cpu_to_be32 (XFS_SB_FEAT_COMPAT_UNKNOWN );if ((sb->sb_features_compat & features_mask) != (cpu_to_be32 (mp->m_sb.sb_features_compat) & features_mask)) -xfs_scrub_block_set_corrupt (sc, bp); +xchk_block_set_corrupt (sc, bp);/* Check ro compat flags; all are set at mkfs time. */ features_mask = cpu_to_be32(XFS_SB_FEAT_RO_COMPAT_UNKNOWN |@@ -301,7 +301,7 @@ xfs_scrub_superblock(if ((sb->sb_features_ro_compat & features_mask) != (cpu_to_be32 (mp->m_sb.sb_features_ro_compat) & features_mask)) -xfs_scrub_block_set_corrupt (sc, bp); +xchk_block_set_corrupt (sc, bp);/* Check incompat flags; all are set at mkfs time. */ features_mask = cpu_to_be32(XFS_SB_FEAT_INCOMPAT_UNKNOWN |@@ -311,22 +311,22 @@ xfs_scrub_superblock(if ((sb->sb_features_incompat & features_mask) != (cpu_to_be32 (mp->m_sb.sb_features_incompat) & features_mask)) -xfs_scrub_block_set_corrupt (sc, bp); +xchk_block_set_corrupt (sc, bp);/* Check log incompat flags; all are set at mkfs time. */ features_mask =cpu_to_be32 (XFS_SB_FEAT_INCOMPAT_LOG_UNKNOWN );if ((sb->sb_features_log_incompat & features_mask) != (cpu_to_be32 (mp->m_sb.sb_features_log_incompat) & features_mask)) -xfs_scrub_block_set_corrupt (sc, bp); +xchk_block_set_corrupt (sc, bp);/* Don't care about sb_crc */ if (sb->sb_spino_align !=cpu_to_be32 (mp->m_sb.sb_spino_align)) -xfs_scrub_block_set_corrupt (sc, bp); +xchk_block_set_corrupt (sc, bp);if (sb->sb_pquotino !=cpu_to_be64 (mp->m_sb.sb_pquotino)) -xfs_scrub_block_set_preen (sc, bp); +xchk_block_set_preen (sc, bp);/* Don't care about sb_lsn */ }@@ -334,15 +334,15 @@ xfs_scrub_superblock(if (xfs_sb_version_hasmetauuid (&mp->m_sb)) {/* The metadata UUID must be the same for all supers */ if (!uuid_equal (&sb->sb_meta_uuid, &mp->m_sb.sb_meta_uuid)) -xfs_scrub_block_set_corrupt (sc, bp); +xchk_block_set_corrupt (sc, bp); }/* Everything else must be zero. */ if (memchr_inv (sb +1 ,0 ,BBTOB (bp->b_length) -sizeof (struct xfs_dsb ))) -xfs_scrub_block_set_corrupt (sc, bp); +xchk_block_set_corrupt (sc, bp); -xfs_scrub_superblock_xref (sc, bp); +xchk_superblock_xref (sc, bp);return error; }@@ -351,7 +351,7 @@ xfs_scrub_superblock(/* Tally freespace record lengths. */ STATIC int -xfs_scrub_agf_record_bno_lengths ( +xchk_agf_record_bno_lengths (struct xfs_btree_cur *cur,struct xfs_alloc_rec_incore *rec,void *priv)@@ -364,7 +364,7 @@ xfs_scrub_agf_record_bno_lengths(/* Check agf_freeblks */ static inline void -xfs_scrub_agf_xref_freeblks ( +xchk_agf_xref_freeblks (struct xfs_scrub_context *sc) {struct xfs_agf *agf =XFS_BUF_TO_AGF (sc->sa.agf_bp);@@ -375,16 +375,16 @@ xfs_scrub_agf_xref_freeblks(return ; error =xfs_alloc_query_all (sc->sa.bno_cur, - xfs_scrub_agf_record_bno_lengths, &blocks); -if (!xfs_scrub_should_check_xref (sc, &error, &sc->sa.bno_cur)) + xchk_agf_record_bno_lengths, &blocks); +if (!xchk_should_check_xref (sc, &error, &sc->sa.bno_cur))return ;if (blocks !=be32_to_cpu (agf->agf_freeblks)) -xfs_scrub_block_xref_set_corrupt (sc, sc->sa.agf_bp); +xchk_block_xref_set_corrupt (sc, sc->sa.agf_bp); }/* Cross reference the AGF with the cntbt (freespace by length btree) */ static inline void -xfs_scrub_agf_xref_cntbt ( +xchk_agf_xref_cntbt (struct xfs_scrub_context *sc) {struct xfs_agf *agf =XFS_BUF_TO_AGF (sc->sa.agf_bp);@@ -398,25 +398,25 @@ xfs_scrub_agf_xref_cntbt(/* Any freespace at all? */ error =xfs_alloc_lookup_le (sc->sa.cnt_cur,0 ,-1U , &have); -if (!xfs_scrub_should_check_xref (sc, &error, &sc->sa.cnt_cur)) +if (!xchk_should_check_xref (sc, &error, &sc->sa.cnt_cur))return ;if (!have) {if (agf->agf_freeblks !=be32_to_cpu (0 )) -xfs_scrub_block_xref_set_corrupt (sc, sc->sa.agf_bp); +xchk_block_xref_set_corrupt (sc, sc->sa.agf_bp);return ; }/* Check agf_longest */ error =xfs_alloc_get_rec (sc->sa.cnt_cur, &agbno, &blocks, &have); -if (!xfs_scrub_should_check_xref (sc, &error, &sc->sa.cnt_cur)) +if (!xchk_should_check_xref (sc, &error, &sc->sa.cnt_cur))return ;if (!have || blocks !=be32_to_cpu (agf->agf_longest)) -xfs_scrub_block_xref_set_corrupt (sc, sc->sa.agf_bp); +xchk_block_xref_set_corrupt (sc, sc->sa.agf_bp); }/* Check the btree block counts in the AGF against the btrees. */ STATIC void -xfs_scrub_agf_xref_btreeblks ( +xchk_agf_xref_btreeblks (struct xfs_scrub_context *sc) {struct xfs_agf *agf =XFS_BUF_TO_AGF (sc->sa.agf_bp);@@ -428,11 +428,11 @@ xfs_scrub_agf_xref_btreeblks(/* Check agf_rmap_blocks; set up for agf_btreeblks check */ if (sc->sa.rmap_cur) { error =xfs_btree_count_blocks (sc->sa.rmap_cur, &blocks); -if (!xfs_scrub_should_check_xref (sc, &error, &sc->sa.rmap_cur)) +if (!xchk_should_check_xref (sc, &error, &sc->sa.rmap_cur))return ; btreeblks = blocks -1 ;if (blocks !=be32_to_cpu (agf->agf_rmap_blocks)) -xfs_scrub_block_xref_set_corrupt (sc, sc->sa.agf_bp); +xchk_block_xref_set_corrupt (sc, sc->sa.agf_bp); }else { btreeblks =0 ; }@@ -447,22 +447,22 @@ xfs_scrub_agf_xref_btreeblks(/* Check agf_btreeblks */ error =xfs_btree_count_blocks (sc->sa.bno_cur, &blocks); -if (!xfs_scrub_should_check_xref (sc, &error, &sc->sa.bno_cur)) +if (!xchk_should_check_xref (sc, &error, &sc->sa.bno_cur))return ; btreeblks += blocks -1 ; error =xfs_btree_count_blocks (sc->sa.cnt_cur, &blocks); -if (!xfs_scrub_should_check_xref (sc, &error, &sc->sa.cnt_cur)) +if (!xchk_should_check_xref (sc, &error, &sc->sa.cnt_cur))return ; btreeblks += blocks -1 ;if (btreeblks !=be32_to_cpu (agf->agf_btreeblks)) -xfs_scrub_block_xref_set_corrupt (sc, sc->sa.agf_bp); +xchk_block_xref_set_corrupt (sc, sc->sa.agf_bp); }/* Check agf_refcount_blocks against tree size */ static inline void -xfs_scrub_agf_xref_refcblks ( +xchk_agf_xref_refcblks (struct xfs_scrub_context *sc) {struct xfs_agf *agf =XFS_BUF_TO_AGF (sc->sa.agf_bp);@@ -473,15 +473,15 @@ xfs_scrub_agf_xref_refcblks(return ; error =xfs_btree_count_blocks (sc->sa.refc_cur, &blocks); -if (!xfs_scrub_should_check_xref (sc, &error, &sc->sa.refc_cur)) +if (!xchk_should_check_xref (sc, &error, &sc->sa.refc_cur))return ;if (blocks !=be32_to_cpu (agf->agf_refcount_blocks)) -xfs_scrub_block_xref_set_corrupt (sc, sc->sa.agf_bp); +xchk_block_xref_set_corrupt (sc, sc->sa.agf_bp); }/* Cross-reference with the other btrees. */ STATIC void -xfs_scrub_agf_xref ( +xchk_agf_xref (struct xfs_scrub_context *sc) {struct xfs_owner_info oinfo;@@ -494,26 +494,26 @@ xfs_scrub_agf_xref( agbno =XFS_AGF_BLOCK (mp); - error =xfs_scrub_ag_btcur_init (sc, &sc->sa); + error =xchk_ag_btcur_init (sc, &sc->sa);if (error)return ; -xfs_scrub_xref_is_used_space (sc, agbno,1 ); -xfs_scrub_agf_xref_freeblks (sc); -xfs_scrub_agf_xref_cntbt (sc); -xfs_scrub_xref_is_not_inode_chunk (sc, agbno,1 ); +xchk_xref_is_used_space (sc, agbno,1 ); +xchk_agf_xref_freeblks (sc); +xchk_agf_xref_cntbt (sc); +xchk_xref_is_not_inode_chunk (sc, agbno,1 );xfs_rmap_ag_owner (&oinfo,XFS_RMAP_OWN_FS ); -xfs_scrub_xref_is_owned_by (sc, agbno,1 , &oinfo); -xfs_scrub_agf_xref_btreeblks (sc); -xfs_scrub_xref_is_not_shared (sc, agbno,1 ); -xfs_scrub_agf_xref_refcblks (sc); +xchk_xref_is_owned_by (sc, agbno,1 , &oinfo); +xchk_agf_xref_btreeblks (sc); +xchk_xref_is_not_shared (sc, agbno,1 ); +xchk_agf_xref_refcblks (sc);/* scrub teardown will take care of sc->sa for us */ }/* Scrub the AGF. */ int -xfs_scrub_agf ( +xchk_agf (struct xfs_scrub_context *sc) {struct xfs_mount *mp = sc->mp;@@ -529,54 +529,54 @@ xfs_scrub_agf(int error =0 ; agno = sc->sa.agno = sc->sm->sm_agno; - error =xfs_scrub_ag_read_headers (sc, agno, &sc->sa.agi_bp, + error =xchk_ag_read_headers (sc, agno, &sc->sa.agi_bp, &sc->sa.agf_bp, &sc->sa.agfl_bp); -if (!xfs_scrub_process_error (sc, agno,XFS_AGF_BLOCK (sc->mp), &error)) +if (!xchk_process_error (sc, agno,XFS_AGF_BLOCK (sc->mp), &error)) goto out; -xfs_scrub_buffer_recheck (sc, sc->sa.agf_bp); +xchk_buffer_recheck (sc, sc->sa.agf_bp); agf =XFS_BUF_TO_AGF (sc->sa.agf_bp);/* Check the AG length */ eoag =be32_to_cpu (agf->agf_length);if (eoag !=xfs_ag_block_count (mp, agno)) -xfs_scrub_block_set_corrupt (sc, sc->sa.agf_bp); +xchk_block_set_corrupt (sc, sc->sa.agf_bp);/* Check the AGF btree roots and levels */ agbno =be32_to_cpu (agf->agf_roots[XFS_BTNUM_BNO ]);if (!xfs_verify_agbno (mp, agno, agbno)) -xfs_scrub_block_set_corrupt (sc, sc->sa.agf_bp); +xchk_block_set_corrupt (sc, sc->sa.agf_bp); agbno =be32_to_cpu (agf->agf_roots[XFS_BTNUM_CNT ]);if (!xfs_verify_agbno (mp, agno, agbno)) -xfs_scrub_block_set_corrupt (sc, sc->sa.agf_bp); +xchk_block_set_corrupt (sc, sc->sa.agf_bp); level =be32_to_cpu (agf->agf_levels[XFS_BTNUM_BNO ]);if (level <=0 || level >XFS_BTREE_MAXLEVELS ) -xfs_scrub_block_set_corrupt (sc, sc->sa.agf_bp); +xchk_block_set_corrupt (sc, sc->sa.agf_bp); level =be32_to_cpu (agf->agf_levels[XFS_BTNUM_CNT ]);if (level <=0 || level >XFS_BTREE_MAXLEVELS ) -xfs_scrub_block_set_corrupt (sc, sc->sa.agf_bp); +xchk_block_set_corrupt (sc, sc->sa.agf_bp);if (xfs_sb_version_hasrmapbt (&mp->m_sb)) { agbno =be32_to_cpu (agf->agf_roots[XFS_BTNUM_RMAP ]);if (!xfs_verify_agbno (mp, agno, agbno)) -xfs_scrub_block_set_corrupt (sc, sc->sa.agf_bp); +xchk_block_set_corrupt (sc, sc->sa.agf_bp); level =be32_to_cpu (agf->agf_levels[XFS_BTNUM_RMAP ]);if (level <=0 || level >XFS_BTREE_MAXLEVELS ) -xfs_scrub_block_set_corrupt (sc, sc->sa.agf_bp); +xchk_block_set_corrupt (sc, sc->sa.agf_bp); }if (xfs_sb_version_hasreflink (&mp->m_sb)) { agbno =be32_to_cpu (agf->agf_refcount_root);if (!xfs_verify_agbno (mp, agno, agbno)) -xfs_scrub_block_set_corrupt (sc, sc->sa.agf_bp); +xchk_block_set_corrupt (sc, sc->sa.agf_bp); level =be32_to_cpu (agf->agf_refcount_level);if (level <=0 || level >XFS_BTREE_MAXLEVELS ) -xfs_scrub_block_set_corrupt (sc, sc->sa.agf_bp); +xchk_block_set_corrupt (sc, sc->sa.agf_bp); }/* Check the AGFL counters */ @@ -588,16 +588,16 @@ xfs_scrub_agf(else fl_count =xfs_agfl_size (mp) - agfl_first + agfl_last +1 ;if (agfl_count !=0 && fl_count != agfl_count) -xfs_scrub_block_set_corrupt (sc, sc->sa.agf_bp); +xchk_block_set_corrupt (sc, sc->sa.agf_bp); -xfs_scrub_agf_xref (sc); +xchk_agf_xref (sc); out:return error; }/* AGFL */ -struct xfs_scrub_agfl_info { +struct xchk_agfl_info {struct xfs_owner_info oinfo;unsigned int sz_entries;unsigned int nr_entries;@@ -607,7 +607,7 @@ struct xfs_scrub_agfl_info {/* Cross-reference with the other btrees. */ STATIC void -xfs_scrub_agfl_block_xref ( +xchk_agfl_block_xref (struct xfs_scrub_context *sc,xfs_agblock_t agbno,struct xfs_owner_info *oinfo)@@ -615,20 +615,20 @@ xfs_scrub_agfl_block_xref(if (sc->sm->sm_flags &XFS_SCRUB_OFLAG_CORRUPT )return ; -xfs_scrub_xref_is_used_space (sc, agbno,1 ); -xfs_scrub_xref_is_not_inode_chunk (sc, agbno,1 ); -xfs_scrub_xref_is_owned_by (sc, agbno,1 , oinfo); -xfs_scrub_xref_is_not_shared (sc, agbno,1 ); +xchk_xref_is_used_space (sc, agbno,1 ); +xchk_xref_is_not_inode_chunk (sc, agbno,1 ); +xchk_xref_is_owned_by (sc, agbno,1 , oinfo); +xchk_xref_is_not_shared (sc, agbno,1 ); }/* Scrub an AGFL block. */ STATIC int -xfs_scrub_agfl_block ( +xchk_agfl_block (struct xfs_mount *mp,xfs_agblock_t agbno,void *priv) { -struct xfs_scrub_agfl_info *sai = priv; +struct xchk_agfl_info *sai = priv;struct xfs_scrub_context *sc = sai->sc;xfs_agnumber_t agno = sc->sa.agno;@@ -636,9 +636,9 @@ xfs_scrub_agfl_block( sai->nr_entries < sai->sz_entries) sai->entries[sai->nr_entries++] = agbno; else - xfs_scrub_block_set_corrupt(sc, sc->sa.agfl_bp); + xchk_block_set_corrupt(sc, sc->sa.agfl_bp); -xfs_scrub_agfl_block_xref (sc, agbno, priv); +xchk_agfl_block_xref (sc, agbno, priv);if (sc->sm->sm_flags &XFS_SCRUB_OFLAG_CORRUPT )return XFS_BTREE_QUERY_RANGE_ABORT ;@@ -647,7 +647,7 @@ xfs_scrub_agfl_block( }static int -xfs_scrub_agblock_cmp ( +xchk_agblock_cmp (const void *pa,const void *pb) {@@ -659,7 +659,7 @@ xfs_scrub_agblock_cmp(/* Cross-reference with the other btrees. */ STATIC void -xfs_scrub_agfl_xref ( +xchk_agfl_xref (struct xfs_scrub_context *sc) {struct xfs_owner_info oinfo;@@ -672,15 +672,15 @@ xfs_scrub_agfl_xref( agbno =XFS_AGFL_BLOCK (mp); - error =xfs_scrub_ag_btcur_init (sc, &sc->sa); + error =xchk_ag_btcur_init (sc, &sc->sa);if (error)return ; -xfs_scrub_xref_is_used_space (sc, agbno,1 ); -xfs_scrub_xref_is_not_inode_chunk (sc, agbno,1 ); +xchk_xref_is_used_space (sc, agbno,1 ); +xchk_xref_is_not_inode_chunk (sc, agbno,1 );xfs_rmap_ag_owner (&oinfo,XFS_RMAP_OWN_FS ); -xfs_scrub_xref_is_owned_by (sc, agbno,1 , &oinfo); -xfs_scrub_xref_is_not_shared (sc, agbno,1 ); +xchk_xref_is_owned_by (sc, agbno,1 , &oinfo); +xchk_xref_is_not_shared (sc, agbno,1 );/* * Scrub teardown will take care of sc->sa for us. Leave sc->sa @@ -690,10 +690,10 @@ xfs_scrub_agfl_xref(/* Scrub the AGFL. */ int -xfs_scrub_agfl ( +xchk_agfl (struct xfs_scrub_context *sc) { -struct xfs_scrub_agfl_info sai; +struct xchk_agfl_info sai;struct xfs_agf *agf;xfs_agnumber_t agno;unsigned int agflcount;@@ -701,15 +701,15 @@ xfs_scrub_agfl(int error; agno = sc->sa.agno = sc->sm->sm_agno; - error =xfs_scrub_ag_read_headers (sc, agno, &sc->sa.agi_bp, + error =xchk_ag_read_headers (sc, agno, &sc->sa.agi_bp, &sc->sa.agf_bp, &sc->sa.agfl_bp); -if (!xfs_scrub_process_error (sc, agno,XFS_AGFL_BLOCK (sc->mp), &error)) +if (!xchk_process_error (sc, agno,XFS_AGFL_BLOCK (sc->mp), &error)) goto out;if (!sc->sa.agf_bp)return -EFSCORRUPTED ; -xfs_scrub_buffer_recheck (sc, sc->sa.agfl_bp); +xchk_buffer_recheck (sc, sc->sa.agfl_bp); -xfs_scrub_agfl_xref (sc); +xchk_agfl_xref (sc);if (sc->sm->sm_flags &XFS_SCRUB_OFLAG_CORRUPT ) goto out;@@ -718,7 +718,7 @@ xfs_scrub_agfl( agf =XFS_BUF_TO_AGF (sc->sa.agf_bp); agflcount =be32_to_cpu (agf->agf_flcount);if (agflcount >xfs_agfl_size (sc->mp)) { -xfs_scrub_block_set_corrupt (sc, sc->sa.agf_bp); +xchk_block_set_corrupt (sc, sc->sa.agf_bp); goto out; }memset (&sai,0 ,sizeof (sai));@@ -734,7 +734,7 @@ xfs_scrub_agfl(/* Check the blocks in the AGFL. */ xfs_rmap_ag_owner (&sai.oinfo,XFS_RMAP_OWN_AG ); error =xfs_agfl_walk (sc->mp,XFS_BUF_TO_AGF (sc->sa.agf_bp), - sc->sa.agfl_bp, xfs_scrub_agfl_block, &sai); + sc->sa.agfl_bp, xchk_agfl_block, &sai);if (error ==XFS_BTREE_QUERY_RANGE_ABORT ) { error =0 ; goto out_free;@@ -743,16 +743,16 @@ xfs_scrub_agfl( goto out_free;if (agflcount != sai.nr_entries) { -xfs_scrub_block_set_corrupt (sc, sc->sa.agf_bp); +xchk_block_set_corrupt (sc, sc->sa.agf_bp); goto out_free; }/* Sort entries, check for duplicates. */ sort (sai.entries, sai.nr_entries,sizeof (sai.entries[0 ]), - xfs_scrub_agblock_cmp,NULL ); + xchk_agblock_cmp,NULL );for (i =1 ; i < sai.nr_entries; i++) {if (sai.entries[i] == sai.entries[i -1 ]) { -xfs_scrub_block_set_corrupt (sc, sc->sa.agf_bp); +xchk_block_set_corrupt (sc, sc->sa.agf_bp);break ; } }@@ -767,7 +767,7 @@ xfs_scrub_agfl(/* Check agi_count/agi_freecount */ static inline void -xfs_scrub_agi_xref_icounts ( +xchk_agi_xref_icounts (struct xfs_scrub_context *sc) {struct xfs_agi *agi =XFS_BUF_TO_AGI (sc->sa.agi_bp);@@ -779,16 +779,16 @@ xfs_scrub_agi_xref_icounts(return ; error =xfs_ialloc_count_inodes (sc->sa.ino_cur, &icount, &freecount); -if (!xfs_scrub_should_check_xref (sc, &error, &sc->sa.ino_cur)) +if (!xchk_should_check_xref (sc, &error, &sc->sa.ino_cur))return ;if (be32_to_cpu (agi->agi_count) != icount ||be32_to_cpu (agi->agi_freecount) != freecount) -xfs_scrub_block_xref_set_corrupt (sc, sc->sa.agi_bp); +xchk_block_xref_set_corrupt (sc, sc->sa.agi_bp); }/* Cross-reference with the other btrees. */ STATIC void -xfs_scrub_agi_xref ( +xchk_agi_xref (struct xfs_scrub_context *sc) {struct xfs_owner_info oinfo;@@ -801,23 +801,23 @@ xfs_scrub_agi_xref( agbno =XFS_AGI_BLOCK (mp); - error =xfs_scrub_ag_btcur_init (sc, &sc->sa); + error =xchk_ag_btcur_init (sc, &sc->sa);if (error)return ; -xfs_scrub_xref_is_used_space (sc, agbno,1 ); -xfs_scrub_xref_is_not_inode_chunk (sc, agbno,1 ); -xfs_scrub_agi_xref_icounts (sc); +xchk_xref_is_used_space (sc, agbno,1 ); +xchk_xref_is_not_inode_chunk (sc, agbno,1 ); +xchk_agi_xref_icounts (sc);xfs_rmap_ag_owner (&oinfo,XFS_RMAP_OWN_FS ); -xfs_scrub_xref_is_owned_by (sc, agbno,1 , &oinfo); -xfs_scrub_xref_is_not_shared (sc, agbno,1 ); +xchk_xref_is_owned_by (sc, agbno,1 , &oinfo); +xchk_xref_is_not_shared (sc, agbno,1 );/* scrub teardown will take care of sc->sa for us */ }/* Scrub the AGI. */ int -xfs_scrub_agi ( +xchk_agi (struct xfs_scrub_context *sc) {struct xfs_mount *mp = sc->mp;@@ -834,36 +834,36 @@ xfs_scrub_agi(int error =0 ; agno = sc->sa.agno = sc->sm->sm_agno; - error =xfs_scrub_ag_read_headers (sc, agno, &sc->sa.agi_bp, + error =xchk_ag_read_headers (sc, agno, &sc->sa.agi_bp, &sc->sa.agf_bp, &sc->sa.agfl_bp); -if (!xfs_scrub_process_error (sc, agno,XFS_AGI_BLOCK (sc->mp), &error)) +if (!xchk_process_error (sc, agno,XFS_AGI_BLOCK (sc->mp), &error)) goto out; -xfs_scrub_buffer_recheck (sc, sc->sa.agi_bp); +xchk_buffer_recheck (sc, sc->sa.agi_bp); agi =XFS_BUF_TO_AGI (sc->sa.agi_bp);/* Check the AG length */ eoag =be32_to_cpu (agi->agi_length);if (eoag !=xfs_ag_block_count (mp, agno)) -xfs_scrub_block_set_corrupt (sc, sc->sa.agi_bp); +xchk_block_set_corrupt (sc, sc->sa.agi_bp);/* Check btree roots and levels */ agbno =be32_to_cpu (agi->agi_root);if (!xfs_verify_agbno (mp, agno, agbno)) -xfs_scrub_block_set_corrupt (sc, sc->sa.agi_bp); +xchk_block_set_corrupt (sc, sc->sa.agi_bp); level =be32_to_cpu (agi->agi_level);if (level <=0 || level >XFS_BTREE_MAXLEVELS ) -xfs_scrub_block_set_corrupt (sc, sc->sa.agi_bp); +xchk_block_set_corrupt (sc, sc->sa.agi_bp);if (xfs_sb_version_hasfinobt (&mp->m_sb)) { agbno =be32_to_cpu (agi->agi_free_root);if (!xfs_verify_agbno (mp, agno, agbno)) -xfs_scrub_block_set_corrupt (sc, sc->sa.agi_bp); +xchk_block_set_corrupt (sc, sc->sa.agi_bp); level =be32_to_cpu (agi->agi_free_level);if (level <=0 || level >XFS_BTREE_MAXLEVELS ) -xfs_scrub_block_set_corrupt (sc, sc->sa.agi_bp); +xchk_block_set_corrupt (sc, sc->sa.agi_bp); }/* Check inode counters */ @@ -871,16 +871,16 @@ xfs_scrub_agi( icount =be32_to_cpu (agi->agi_count);if (icount > last_agino - first_agino +1 || icount <be32_to_cpu (agi->agi_freecount)) -xfs_scrub_block_set_corrupt (sc, sc->sa.agi_bp); +xchk_block_set_corrupt (sc, sc->sa.agi_bp);/* Check inode pointers */ agino =be32_to_cpu (agi->agi_newino);if (agino !=NULLAGINO && !xfs_verify_agino (mp, agno, agino)) -xfs_scrub_block_set_corrupt (sc, sc->sa.agi_bp); +xchk_block_set_corrupt (sc, sc->sa.agi_bp); agino =be32_to_cpu (agi->agi_dirino);if (agino !=NULLAGINO && !xfs_verify_agino (mp, agno, agino)) -xfs_scrub_block_set_corrupt (sc, sc->sa.agi_bp); +xchk_block_set_corrupt (sc, sc->sa.agi_bp);/* Check unlinked inode buckets */ for (i =0 ; i <XFS_AGI_UNLINKED_BUCKETS ; i++) {@@ -888,13 +888,13 @@ xfs_scrub_agi(if (agino ==NULLAGINO )continue ;if (!xfs_verify_agino (mp, agno, agino)) -xfs_scrub_block_set_corrupt (sc, sc->sa.agi_bp); +xchk_block_set_corrupt (sc, sc->sa.agi_bp); }if (agi->agi_pad32 !=cpu_to_be32 (0 )) -xfs_scrub_block_set_corrupt (sc, sc->sa.agi_bp); +xchk_block_set_corrupt (sc, sc->sa.agi_bp); -xfs_scrub_agi_xref (sc); +xchk_agi_xref (sc); out:return error; }fs/xfs/scrub/alloc.c +28
-28@@ -28,11 +28,11 @@* Set us up to scrub free space btrees. */ int -xfs_scrub_setup_ag_allocbt ( +xchk_setup_ag_allocbt (struct xfs_scrub_context *sc,struct xfs_inode *ip) { -return xfs_scrub_setup_ag_btree (sc, ip, false); +return xchk_setup_ag_btree (sc, ip, false); }/* Free space btree scrubber. */ @@ -41,7 +41,7 @@ xfs_scrub_setup_ag_allocbt(* bnobt/cntbt record, respectively. */ STATIC void -xfs_scrub_allocbt_xref_other ( +xchk_allocbt_xref_other (struct xfs_scrub_context *sc,xfs_agblock_t agbno,xfs_extlen_t len)@@ -56,32 +56,32 @@ xfs_scrub_allocbt_xref_other( pcur = &sc->sa.cnt_cur; else pcur = &sc->sa.bno_cur; -if (!*pcur ||xfs_scrub_skip_xref (sc->sm)) +if (!*pcur ||xchk_skip_xref (sc->sm))return ; error =xfs_alloc_lookup_le (*pcur, agbno, len, &has_otherrec); -if (!xfs_scrub_should_check_xref (sc, &error, pcur)) +if (!xchk_should_check_xref (sc, &error, pcur))return ;if (!has_otherrec) { -xfs_scrub_btree_xref_set_corrupt (sc, *pcur,0 ); +xchk_btree_xref_set_corrupt (sc, *pcur,0 );return ; } error =xfs_alloc_get_rec (*pcur, &fbno, &flen, &has_otherrec); -if (!xfs_scrub_should_check_xref (sc, &error, pcur)) +if (!xchk_should_check_xref (sc, &error, pcur))return ;if (!has_otherrec) { -xfs_scrub_btree_xref_set_corrupt (sc, *pcur,0 ); +xchk_btree_xref_set_corrupt (sc, *pcur,0 );return ; }if (fbno != agbno || flen != len) -xfs_scrub_btree_xref_set_corrupt (sc, *pcur,0 ); +xchk_btree_xref_set_corrupt (sc, *pcur,0 ); }/* Cross-reference with the other btrees. */ STATIC void -xfs_scrub_allocbt_xref ( +xchk_allocbt_xref (struct xfs_scrub_context *sc,xfs_agblock_t agbno,xfs_extlen_t len)@@ -89,16 +89,16 @@ xfs_scrub_allocbt_xref(if (sc->sm->sm_flags &XFS_SCRUB_OFLAG_CORRUPT )return ; -xfs_scrub_allocbt_xref_other (sc, agbno, len); -xfs_scrub_xref_is_not_inode_chunk (sc, agbno, len); -xfs_scrub_xref_has_no_owner (sc, agbno, len); -xfs_scrub_xref_is_not_shared (sc, agbno, len); +xchk_allocbt_xref_other (sc, agbno, len); +xchk_xref_is_not_inode_chunk (sc, agbno, len); +xchk_xref_has_no_owner (sc, agbno, len); +xchk_xref_is_not_shared (sc, agbno, len); }/* Scrub a bnobt/cntbt record. */ STATIC int -xfs_scrub_allocbt_rec ( -struct xfs_scrub_btree *bs, +xchk_allocbt_rec ( +struct xchk_btree *bs,union xfs_btree_rec *rec) {struct xfs_mount *mp = bs->cur->bc_mp;@@ -113,16 +113,16 @@ xfs_scrub_allocbt_rec(if (bno + len <= bno || !xfs_verify_agbno (mp, agno, bno) || !xfs_verify_agbno (mp, agno, bno + len -1 )) -xfs_scrub_btree_set_corrupt (bs->sc, bs->cur,0 ); +xchk_btree_set_corrupt (bs->sc, bs->cur,0 ); -xfs_scrub_allocbt_xref (bs->sc, bno, len); +xchk_allocbt_xref (bs->sc, bno, len);return error; }/* Scrub the freespace btrees for some AG. */ STATIC int -xfs_scrub_allocbt ( +xchk_allocbt (struct xfs_scrub_context *sc,xfs_btnum_t which) {@@ -131,26 +131,26 @@ xfs_scrub_allocbt(xfs_rmap_ag_owner (&oinfo,XFS_RMAP_OWN_AG ); cur = which ==XFS_BTNUM_BNO ? sc->sa.bno_cur : sc->sa.cnt_cur; -return xfs_scrub_btree (sc, cur, xfs_scrub_allocbt_rec, &oinfo,NULL ); +return xchk_btree (sc, cur, xchk_allocbt_rec, &oinfo,NULL ); }int -xfs_scrub_bnobt ( +xchk_bnobt (struct xfs_scrub_context *sc) { -return xfs_scrub_allocbt (sc,XFS_BTNUM_BNO ); +return xchk_allocbt (sc,XFS_BTNUM_BNO ); }int -xfs_scrub_cntbt ( +xchk_cntbt (struct xfs_scrub_context *sc) { -return xfs_scrub_allocbt (sc,XFS_BTNUM_CNT ); +return xchk_allocbt (sc,XFS_BTNUM_CNT ); }/* xref check that the extent is not free */ void -xfs_scrub_xref_is_used_space ( +xchk_xref_is_used_space (struct xfs_scrub_context *sc,xfs_agblock_t agbno,xfs_extlen_t len)@@ -158,12 +158,12 @@ xfs_scrub_xref_is_used_space(bool is_freesp;int error; -if (!sc->sa.bno_cur ||xfs_scrub_skip_xref (sc->sm)) +if (!sc->sa.bno_cur ||xchk_skip_xref (sc->sm))return ; error =xfs_alloc_has_record (sc->sa.bno_cur, agbno, len, &is_freesp); -if (!xfs_scrub_should_check_xref (sc, &error, &sc->sa.bno_cur)) +if (!xchk_should_check_xref (sc, &error, &sc->sa.bno_cur))return ;if (is_freesp) -xfs_scrub_btree_xref_set_corrupt (sc, sc->sa.bno_cur,0 ); +xchk_btree_xref_set_corrupt (sc, sc->sa.bno_cur,0 ); }fs/xfs/scrub/attr.c +53
-53@@ -32,7 +32,7 @@/* Set us up to scrub an inode's extended attributes. */ int -xfs_scrub_setup_xattr ( +xchk_setup_xattr (struct xfs_scrub_context *sc,struct xfs_inode *ip) {@@ -50,12 +50,12 @@ xfs_scrub_setup_xattr(if (!sc->buf)return -ENOMEM ; -return xfs_scrub_setup_inode_contents (sc, ip,0 ); +return xchk_setup_inode_contents (sc, ip,0 ); }/* Extended Attributes */ -struct xfs_scrub_xattr { +struct xchk_xattr {struct xfs_attr_list_context context;struct xfs_scrub_context *sc; };@@ -69,22 +69,22 @@ struct xfs_scrub_xattr {* or if we get more or less data than we expected. */ static void -xfs_scrub_xattr_listent ( +xchk_xattr_listent (struct xfs_attr_list_context *context,int flags,unsigned char *name,int namelen,int valuelen) { -struct xfs_scrub_xattr *sx; +struct xchk_xattr *sx;struct xfs_da_args args = {NULL };int error =0 ; - sx = container_of(context, struct xfs_scrub_xattr, context); + sx = container_of(context, struct xchk_xattr, context);if (flags &XFS_ATTR_INCOMPLETE ) {/* Incomplete attr key, just mark the inode for preening. */ -xfs_scrub_ino_set_preen (sx->sc, context->dp->i_ino); +xchk_ino_set_preen (sx->sc, context->dp->i_ino);return ; }@@ -106,11 +106,11 @@ xfs_scrub_xattr_listent( error =xfs_attr_get_ilocked (context->dp, &args);if (error == -EEXIST ) error =0 ; -if (!xfs_scrub_fblock_process_error (sx->sc,XFS_ATTR_FORK , args.blkno, +if (!xchk_fblock_process_error (sx->sc,XFS_ATTR_FORK , args.blkno, &error)) goto fail_xref;if (args.valuelen != valuelen) -xfs_scrub_fblock_set_corrupt (sx->sc,XFS_ATTR_FORK , +xchk_fblock_set_corrupt (sx->sc,XFS_ATTR_FORK , args.blkno); fail_xref:if (sx->sc->sm->sm_flags &XFS_SCRUB_OFLAG_CORRUPT )@@ -126,7 +126,7 @@ xfs_scrub_xattr_listent(* the smallest address */ STATIC bool -xfs_scrub_xattr_set_map( +xchk_xattr_set_map( struct xfs_scrub_context *sc, unsigned long *map, unsigned int start,@@ -154,7 +154,7 @@ xfs_scrub_xattr_set_map(* attr freemap has problems or points to used space. */ STATIC bool -xfs_scrub_xattr_check_freemap ( +xchk_xattr_check_freemap (struct xfs_scrub_context *sc,unsigned long *map,struct xfs_attr3_icleaf_hdr *leafhdr)@@ -168,7 +168,7 @@ xfs_scrub_xattr_check_freemap( freemap = (unsigned long *)sc->buf +BITS_TO_LONGS (mapsize);bitmap_zero (freemap, mapsize);for (i =0 ; i <XFS_ATTR_LEAF_MAPSIZE ; i++) { -if (!xfs_scrub_xattr_set_map (sc, freemap, +if (!xchk_xattr_set_map (sc, freemap, leafhdr->freemap[i].base, leafhdr->freemap[i].size))return false;@@ -184,8 +184,8 @@ xfs_scrub_xattr_check_freemap(* Returns the number of bytes used for the name/value data. */ STATIC void -xfs_scrub_xattr_entry( - struct xfs_scrub_da_btree *ds, +xchk_xattr_entry( + struct xchk_da_btree *ds, int level, char *buf_end, struct xfs_attr_leafblock *leaf,@@ -204,17 +204,17 @@ xfs_scrub_xattr_entry(unsigned int namesize;if (ent->pad2 !=0 ) -xfs_scrub_da_set_corrupt (ds, level); +xchk_da_set_corrupt (ds, level);/* Hash values in order? */ if (be32_to_cpu (ent->hashval) < *last_hashval) -xfs_scrub_da_set_corrupt (ds, level); +xchk_da_set_corrupt (ds, level); *last_hashval =be32_to_cpu (ent->hashval); nameidx =be16_to_cpu (ent->nameidx);if (nameidx < leafhdr->firstused || nameidx >= mp->m_attr_geo->blksize) { -xfs_scrub_da_set_corrupt (ds, level); +xchk_da_set_corrupt (ds, level);return ; }@@ -225,27 +225,27 @@ xfs_scrub_xattr_entry( be16_to_cpu(lentry->valuelen)); name_end = (char *)lentry + namesize;if (lentry->namelen ==0 ) -xfs_scrub_da_set_corrupt (ds, level); +xchk_da_set_corrupt (ds, level); }else { rentry =xfs_attr3_leaf_name_remote (leaf, idx); namesize =xfs_attr_leaf_entsize_remote (rentry->namelen); name_end = (char *)rentry + namesize;if (rentry->namelen ==0 || rentry->valueblk ==0 ) -xfs_scrub_da_set_corrupt (ds, level); +xchk_da_set_corrupt (ds, level); }if (name_end > buf_end) -xfs_scrub_da_set_corrupt (ds, level); +xchk_da_set_corrupt (ds, level); -if (!xfs_scrub_xattr_set_map (ds->sc, usedmap, nameidx, namesize)) -xfs_scrub_da_set_corrupt (ds, level); +if (!xchk_xattr_set_map (ds->sc, usedmap, nameidx, namesize)) +xchk_da_set_corrupt (ds, level);if (!(ds->sc->sm->sm_flags &XFS_SCRUB_OFLAG_CORRUPT )) *usedbytes += namesize; }/* Scrub an attribute leaf. */ STATIC int -xfs_scrub_xattr_block ( -struct xfs_scrub_da_btree *ds, +xchk_xattr_block ( +struct xchk_da_btree *ds,int level) {struct xfs_attr3_icleaf_hdr leafhdr;@@ -275,10 +275,10 @@ xfs_scrub_xattr_block(if (leaf->hdr.pad1 !=0 || leaf->hdr.pad2 !=0 || leaf->hdr.info.hdr.pad !=0 ) -xfs_scrub_da_set_corrupt (ds, level); +xchk_da_set_corrupt (ds, level); }else {if (leaf->hdr.pad1 !=0 || leaf->hdr.info.pad !=0 ) -xfs_scrub_da_set_corrupt (ds, level); +xchk_da_set_corrupt (ds, level); }/* Check the leaf header */ @@ -286,44 +286,44 @@ xfs_scrub_xattr_block( hdrsize =xfs_attr3_leaf_hdr_size (leaf);if (leafhdr.usedbytes > mp->m_attr_geo->blksize) -xfs_scrub_da_set_corrupt (ds, level); +xchk_da_set_corrupt (ds, level);if (leafhdr.firstused > mp->m_attr_geo->blksize) -xfs_scrub_da_set_corrupt (ds, level); +xchk_da_set_corrupt (ds, level);if (leafhdr.firstused < hdrsize) -xfs_scrub_da_set_corrupt (ds, level); -if (!xfs_scrub_xattr_set_map (ds->sc, usedmap,0 , hdrsize)) -xfs_scrub_da_set_corrupt (ds, level); +xchk_da_set_corrupt (ds, level); +if (!xchk_xattr_set_map (ds->sc, usedmap,0 , hdrsize)) +xchk_da_set_corrupt (ds, level);if (ds->sc->sm->sm_flags &XFS_SCRUB_OFLAG_CORRUPT ) goto out; entries =xfs_attr3_leaf_entryp (leaf);if ((char *)&entries[leafhdr.count] > (char *)leaf + leafhdr.firstused) -xfs_scrub_da_set_corrupt (ds, level); +xchk_da_set_corrupt (ds, level); buf_end = (char *)bp->b_addr + mp->m_attr_geo->blksize;for (i =0 , ent = entries; i < leafhdr.count; ent++, i++) {/* Mark the leaf entry itself. */ off = (char *)ent - (char *)leaf; -if (!xfs_scrub_xattr_set_map (ds->sc, usedmap, off, +if (!xchk_xattr_set_map (ds->sc, usedmap, off,sizeof (xfs_attr_leaf_entry_t))) { -xfs_scrub_da_set_corrupt (ds, level); +xchk_da_set_corrupt (ds, level); goto out; }/* Check the entry and nameval. */ -xfs_scrub_xattr_entry (ds, level, buf_end, leaf, &leafhdr, +xchk_xattr_entry (ds, level, buf_end, leaf, &leafhdr, usedmap, ent, i, &usedbytes, &last_hashval);if (ds->sc->sm->sm_flags &XFS_SCRUB_OFLAG_CORRUPT ) goto out; } -if (!xfs_scrub_xattr_check_freemap (ds->sc, usedmap, &leafhdr)) -xfs_scrub_da_set_corrupt (ds, level); +if (!xchk_xattr_check_freemap (ds->sc, usedmap, &leafhdr)) +xchk_da_set_corrupt (ds, level);if (leafhdr.usedbytes != usedbytes) -xfs_scrub_da_set_corrupt (ds, level); +xchk_da_set_corrupt (ds, level); out:return 0 ;@@ -331,8 +331,8 @@ xfs_scrub_xattr_block(/* Scrub a attribute btree record. */ STATIC int -xfs_scrub_xattr_rec ( -struct xfs_scrub_da_btree *ds, +xchk_xattr_rec ( +struct xchk_da_btree *ds,int level,void *rec) {@@ -352,14 +352,14 @@ xfs_scrub_xattr_rec( blk = &ds->state->path.blk[level];/* Check the whole block, if necessary. */ - error =xfs_scrub_xattr_block (ds, level); + error =xchk_xattr_block (ds, level);if (error) goto out;if (ds->sc->sm->sm_flags &XFS_SCRUB_OFLAG_CORRUPT ) goto out;/* Check the hash of the entry. */ - error =xfs_scrub_da_btree_hash (ds, level, &ent->hashval); + error =xchk_da_btree_hash (ds, level, &ent->hashval);if (error) goto out;@@ -368,7 +368,7 @@ xfs_scrub_xattr_rec( hdrsize =xfs_attr3_leaf_hdr_size (bp->b_addr); nameidx =be16_to_cpu (ent->nameidx);if (nameidx < hdrsize || nameidx >= mp->m_attr_geo->blksize) { -xfs_scrub_da_set_corrupt (ds, level); +xchk_da_set_corrupt (ds, level); goto out; }@@ -377,12 +377,12 @@ xfs_scrub_xattr_rec( badflags = ~(XFS_ATTR_LOCAL |XFS_ATTR_ROOT |XFS_ATTR_SECURE |XFS_ATTR_INCOMPLETE );if ((ent->flags & badflags) !=0 ) -xfs_scrub_da_set_corrupt (ds, level); +xchk_da_set_corrupt (ds, level);if (ent->flags &XFS_ATTR_LOCAL ) { lentry = (struct xfs_attr_leaf_name_local *) (((char *)bp->b_addr) + nameidx);if (lentry->namelen <=0 ) { -xfs_scrub_da_set_corrupt (ds, level); +xchk_da_set_corrupt (ds, level); goto out; } calc_hash =xfs_da_hashname (lentry->nameval, lentry->namelen);@@ -390,13 +390,13 @@ xfs_scrub_xattr_rec( rentry = (struct xfs_attr_leaf_name_remote *) (((char *)bp->b_addr) + nameidx);if (rentry->namelen <=0 ) { -xfs_scrub_da_set_corrupt (ds, level); +xchk_da_set_corrupt (ds, level); goto out; } calc_hash =xfs_da_hashname (rentry->name, rentry->namelen); }if (calc_hash != hash) -xfs_scrub_da_set_corrupt (ds, level); +xchk_da_set_corrupt (ds, level); out:return error;@@ -404,10 +404,10 @@ xfs_scrub_xattr_rec(/* Scrub the extended attribute metadata. */ int -xfs_scrub_xattr ( +xchk_xattr (struct xfs_scrub_context *sc) { -struct xfs_scrub_xattr sx; +struct xchk_xattr sx;struct attrlist_cursor_kern cursor = {0 };xfs_dablk_t last_checked =-1U ;int error =0 ;@@ -417,7 +417,7 @@ xfs_scrub_xattr(memset (&sx,0 ,sizeof (sx));/* Check attribute tree structure */ - error =xfs_scrub_da_btree (sc,XFS_ATTR_FORK , xfs_scrub_xattr_rec, + error =xchk_da_btree (sc,XFS_ATTR_FORK , xchk_xattr_rec, &last_checked);if (error) goto out;@@ -429,7 +429,7 @@ xfs_scrub_xattr( sx.context.dp = sc->ip; sx.context.cursor = &cursor; sx.context.resynch =1 ; - sx.context.put_listent = xfs_scrub_xattr_listent; + sx.context.put_listent = xchk_xattr_listent; sx.context.tp = sc->tp; sx.context.flags =ATTR_INCOMPLETE ; sx.sc = sc;@@ -438,7 +438,7 @@ xfs_scrub_xattr(* Look up every xattr in this file by name. * * Use the backend implementation of xfs_attr_list to call -* xfs_scrub_xattr_listent on every attribute key in this inode. +* xchk_xattr_listent on every attribute key in this inode. * In other words, we use the same iterator/callback mechanism * that listattr uses to scrub extended attributes, though in our * _listent function, we check the value of the attribute. @@ -451,7 +451,7 @@ xfs_scrub_xattr(* locking order. */ error =xfs_attr_list_int_ilocked (&sx.context); -if (!xfs_scrub_fblock_process_error (sc,XFS_ATTR_FORK ,0 , &error)) +if (!xchk_fblock_process_error (sc,XFS_ATTR_FORK ,0 , &error)) goto out; out:return error;fs/xfs/scrub/bmap.c +88
-88@@ -33,13 +33,13 @@/* Set us up with an inode's bmap. */ int -xfs_scrub_setup_inode_bmap ( +xchk_setup_inode_bmap (struct xfs_scrub_context *sc,struct xfs_inode *ip) {int error; - error =xfs_scrub_get_inode (sc, ip); + error =xchk_get_inode (sc, ip);if (error) goto out;@@ -60,7 +60,7 @@ xfs_scrub_setup_inode_bmap( }/* Got the inode, lock it and we're ready to go. */ - error =xfs_scrub_trans_alloc (sc,0 ); + error =xchk_trans_alloc (sc,0 );if (error) goto out; sc->ilock_flags |=XFS_ILOCK_EXCL ;@@ -78,7 +78,7 @@ xfs_scrub_setup_inode_bmap(* is in btree format. */ -struct xfs_scrub_bmap_info { +struct xchk_bmap_info {struct xfs_scrub_context *sc;xfs_fileoff_t lastoff;bool is_rt;@@ -88,8 +88,8 @@ struct xfs_scrub_bmap_info {/* Look for a corresponding rmap for this irec. */ static inline bool -xfs_scrub_bmap_get_rmap( - struct xfs_scrub_bmap_info *info, +xchk_bmap_get_rmap( + struct xchk_bmap_info *info, struct xfs_bmbt_irec *irec, xfs_agblock_t agbno, uint64_t owner,@@ -120,7 +120,7 @@ xfs_scrub_bmap_get_rmap(if (info->is_shared) { error =xfs_rmap_lookup_le_range (info->sc->sa.rmap_cur, agbno, owner, offset, rflags, rmap, &has_rmap); -if (!xfs_scrub_should_check_xref (info->sc, &error, +if (!xchk_should_check_xref (info->sc, &error, &info->sc->sa.rmap_cur))return false; goto out;@@ -131,28 +131,28 @@ xfs_scrub_bmap_get_rmap(*/ error =xfs_rmap_lookup_le (info->sc->sa.rmap_cur, agbno,0 , owner, offset, rflags, &has_rmap); -if (!xfs_scrub_should_check_xref (info->sc, &error, +if (!xchk_should_check_xref (info->sc, &error, &info->sc->sa.rmap_cur))return false;if (!has_rmap) goto out; error =xfs_rmap_get_rec (info->sc->sa.rmap_cur, rmap, &has_rmap); -if (!xfs_scrub_should_check_xref (info->sc, &error, +if (!xchk_should_check_xref (info->sc, &error, &info->sc->sa.rmap_cur))return false; out:if (!has_rmap) -xfs_scrub_fblock_xref_set_corrupt (info->sc, info->whichfork, +xchk_fblock_xref_set_corrupt (info->sc, info->whichfork, irec->br_startoff);return has_rmap; }/* Make sure that we have rmapbt records for this extent. */ STATIC void -xfs_scrub_bmap_xref_rmap ( -struct xfs_scrub_bmap_info *info, +xchk_bmap_xref_rmap ( +struct xchk_bmap_info *info,struct xfs_bmbt_irec *irec,xfs_agblock_t agbno) {@@ -160,7 +160,7 @@ xfs_scrub_bmap_xref_rmap(unsigned long long rmap_end;uint64_t owner; -if (!info->sc->sa.rmap_cur ||xfs_scrub_skip_xref (info->sc->sm)) +if (!info->sc->sa.rmap_cur ||xchk_skip_xref (info->sc->sm))return ;if (info->whichfork ==XFS_COW_FORK )@@ -169,14 +169,14 @@ xfs_scrub_bmap_xref_rmap( owner = info->sc->ip->i_ino;/* Find the rmap record for this irec. */ -if (!xfs_scrub_bmap_get_rmap (info, irec, agbno, owner, &rmap)) +if (!xchk_bmap_get_rmap (info, irec, agbno, owner, &rmap))return ;/* Check the rmap. */ rmap_end = (unsigned long long )rmap.rm_startblock + rmap.rm_blockcount;if (rmap.rm_startblock > agbno || agbno + irec->br_blockcount > rmap_end) -xfs_scrub_fblock_xref_set_corrupt (info->sc, info->whichfork, +xchk_fblock_xref_set_corrupt (info->sc, info->whichfork, irec->br_startoff);/* @@ -189,12 +189,12 @@ xfs_scrub_bmap_xref_rmap( rmap.rm_blockcount;if (rmap.rm_offset > irec->br_startoff || irec->br_startoff + irec->br_blockcount > rmap_end) -xfs_scrub_fblock_xref_set_corrupt (info->sc, +xchk_fblock_xref_set_corrupt (info->sc, info->whichfork, irec->br_startoff); }if (rmap.rm_owner != owner) -xfs_scrub_fblock_xref_set_corrupt (info->sc, info->whichfork, +xchk_fblock_xref_set_corrupt (info->sc, info->whichfork, irec->br_startoff);/* @@ -207,22 +207,22 @@ xfs_scrub_bmap_xref_rmap(if (owner !=XFS_RMAP_OWN_COW && irec->br_state ==XFS_EXT_UNWRITTEN && !(rmap.rm_flags &XFS_RMAP_UNWRITTEN )) -xfs_scrub_fblock_xref_set_corrupt (info->sc, info->whichfork, +xchk_fblock_xref_set_corrupt (info->sc, info->whichfork, irec->br_startoff);if (info->whichfork ==XFS_ATTR_FORK && !(rmap.rm_flags &XFS_RMAP_ATTR_FORK )) -xfs_scrub_fblock_xref_set_corrupt (info->sc, info->whichfork, +xchk_fblock_xref_set_corrupt (info->sc, info->whichfork, irec->br_startoff);if (rmap.rm_flags &XFS_RMAP_BMBT_BLOCK ) -xfs_scrub_fblock_xref_set_corrupt (info->sc, info->whichfork, +xchk_fblock_xref_set_corrupt (info->sc, info->whichfork, irec->br_startoff); }/* Cross-reference a single rtdev extent record. */ STATIC void -xfs_scrub_bmap_rt_extent_xref ( -struct xfs_scrub_bmap_info *info, +xchk_bmap_rt_extent_xref ( +struct xchk_bmap_info *info,struct xfs_inode *ip,struct xfs_btree_cur *cur,struct xfs_bmbt_irec *irec)@@ -230,14 +230,14 @@ xfs_scrub_bmap_rt_extent_xref(if (info->sc->sm->sm_flags &XFS_SCRUB_OFLAG_CORRUPT )return ; -xfs_scrub_xref_is_used_rt_space (info->sc, irec->br_startblock, +xchk_xref_is_used_rt_space (info->sc, irec->br_startblock, irec->br_blockcount); }/* Cross-reference a single datadev extent record. */ STATIC void -xfs_scrub_bmap_extent_xref ( -struct xfs_scrub_bmap_info *info, +xchk_bmap_extent_xref ( +struct xchk_bmap_info *info,struct xfs_inode *ip,struct xfs_btree_cur *cur,struct xfs_bmbt_irec *irec)@@ -255,38 +255,38 @@ xfs_scrub_bmap_extent_xref( agbno =XFS_FSB_TO_AGBNO (mp, irec->br_startblock); len = irec->br_blockcount; - error =xfs_scrub_ag_init (info->sc, agno, &info->sc->sa); -if (!xfs_scrub_fblock_process_error (info->sc, info->whichfork, + error =xchk_ag_init (info->sc, agno, &info->sc->sa); +if (!xchk_fblock_process_error (info->sc, info->whichfork, irec->br_startoff, &error))return ; -xfs_scrub_xref_is_used_space (info->sc, agbno, len); -xfs_scrub_xref_is_not_inode_chunk (info->sc, agbno, len); -xfs_scrub_bmap_xref_rmap (info, irec, agbno); +xchk_xref_is_used_space (info->sc, agbno, len); +xchk_xref_is_not_inode_chunk (info->sc, agbno, len); +xchk_bmap_xref_rmap (info, irec, agbno);switch (info->whichfork) {case XFS_DATA_FORK :if (xfs_is_reflink_inode (info->sc->ip))break ;/* fall through */ case XFS_ATTR_FORK : -xfs_scrub_xref_is_not_shared (info->sc, agbno, +xchk_xref_is_not_shared (info->sc, agbno, irec->br_blockcount);break ;case XFS_COW_FORK : -xfs_scrub_xref_is_cow_staging (info->sc, agbno, +xchk_xref_is_cow_staging (info->sc, agbno, irec->br_blockcount);break ; } -xfs_scrub_ag_free (info->sc, &info->sc->sa); +xchk_ag_free (info->sc, &info->sc->sa); }/* Scrub a single extent record. */ STATIC int -xfs_scrub_bmap_extent ( +xchk_bmap_extent (struct xfs_inode *ip,struct xfs_btree_cur *cur, -struct xfs_scrub_bmap_info *info, +struct xchk_bmap_info *info,struct xfs_bmbt_irec *irec) {struct xfs_mount *mp = info->sc->mp;@@ -302,12 +302,12 @@ xfs_scrub_bmap_extent(* from the incore list, for which there is no ordering check. */ if (irec->br_startoff < info->lastoff) -xfs_scrub_fblock_set_corrupt (info->sc, info->whichfork, +xchk_fblock_set_corrupt (info->sc, info->whichfork, irec->br_startoff);/* There should never be a "hole" extent in either extent list. */ if (irec->br_startblock ==HOLESTARTBLOCK ) -xfs_scrub_fblock_set_corrupt (info->sc, info->whichfork, +xchk_fblock_set_corrupt (info->sc, info->whichfork, irec->br_startoff);/* @@ -315,40 +315,40 @@ xfs_scrub_bmap_extent(* in-core extent scan, and we should never see these in the bmbt. */ if (isnullstartblock (irec->br_startblock)) -xfs_scrub_fblock_set_corrupt (info->sc, info->whichfork, +xchk_fblock_set_corrupt (info->sc, info->whichfork, irec->br_startoff);/* Make sure the extent points to a valid place. */ if (irec->br_blockcount >MAXEXTLEN ) -xfs_scrub_fblock_set_corrupt (info->sc, info->whichfork, +xchk_fblock_set_corrupt (info->sc, info->whichfork, irec->br_startoff);if (irec->br_startblock + irec->br_blockcount <= irec->br_startblock) -xfs_scrub_fblock_set_corrupt (info->sc, info->whichfork, +xchk_fblock_set_corrupt (info->sc, info->whichfork, irec->br_startoff); end = irec->br_startblock + irec->br_blockcount -1 ;if (info->is_rt && (!xfs_verify_rtbno (mp, irec->br_startblock) || !xfs_verify_rtbno (mp, end))) -xfs_scrub_fblock_set_corrupt (info->sc, info->whichfork, +xchk_fblock_set_corrupt (info->sc, info->whichfork, irec->br_startoff);if (!info->is_rt && (!xfs_verify_fsbno (mp, irec->br_startblock) || !xfs_verify_fsbno (mp, end) ||XFS_FSB_TO_AGNO (mp, irec->br_startblock) !=XFS_FSB_TO_AGNO (mp, end))) -xfs_scrub_fblock_set_corrupt (info->sc, info->whichfork, +xchk_fblock_set_corrupt (info->sc, info->whichfork, irec->br_startoff);/* We don't allow unwritten extents on attr forks. */ if (irec->br_state ==XFS_EXT_UNWRITTEN && info->whichfork ==XFS_ATTR_FORK ) -xfs_scrub_fblock_set_corrupt (info->sc, info->whichfork, +xchk_fblock_set_corrupt (info->sc, info->whichfork, irec->br_startoff);if (info->is_rt) -xfs_scrub_bmap_rt_extent_xref (info, ip, cur, irec); +xchk_bmap_rt_extent_xref (info, ip, cur, irec);else -xfs_scrub_bmap_extent_xref (info, ip, cur, irec); +xchk_bmap_extent_xref (info, ip, cur, irec); info->lastoff = irec->br_startoff + irec->br_blockcount;return error;@@ -356,12 +356,12 @@ xfs_scrub_bmap_extent(/* Scrub a bmbt record. */ STATIC int -xfs_scrub_bmapbt_rec ( -struct xfs_scrub_btree *bs, +xchk_bmapbt_rec ( +struct xchk_btree *bs,union xfs_btree_rec *rec) {struct xfs_bmbt_irec irec; -struct xfs_scrub_bmap_info *info = bs->private; +struct xchk_bmap_info *info = bs->private;struct xfs_inode *ip = bs->cur->bc_private.b.ip;struct xfs_buf *bp =NULL ;struct xfs_btree_block *block;@@ -378,22 +378,22 @@ xfs_scrub_bmapbt_rec( block =xfs_btree_get_block (bs->cur, i, &bp); owner =be64_to_cpu (block->bb_u.l.bb_owner);if (owner != ip->i_ino) -xfs_scrub_fblock_set_corrupt (bs->sc, +xchk_fblock_set_corrupt (bs->sc, info->whichfork,0 ); } }/* Set up the in-core record and scrub it. */ xfs_bmbt_disk_get_all (&rec->bmbt, &irec); -return xfs_scrub_bmap_extent (ip, bs->cur, info, &irec); +return xchk_bmap_extent (ip, bs->cur, info, &irec); }/* Scan the btree records. */ STATIC int -xfs_scrub_bmap_btree ( +xchk_bmap_btree (struct xfs_scrub_context *sc,int whichfork, -struct xfs_scrub_bmap_info *info) +struct xchk_bmap_info *info) {struct xfs_owner_info oinfo;struct xfs_mount *mp = sc->mp;@@ -403,12 +403,12 @@ xfs_scrub_bmap_btree( cur =xfs_bmbt_init_cursor (mp, sc->tp, ip, whichfork);xfs_rmap_ino_bmbt_owner (&oinfo, ip->i_ino, whichfork); - error =xfs_scrub_btree (sc, cur, xfs_scrub_bmapbt_rec, &oinfo, info); + error =xchk_btree (sc, cur, xchk_bmapbt_rec, &oinfo, info);xfs_btree_del_cursor (cur, error);return error; } -struct xfs_scrub_bmap_check_rmap_info { +struct xchk_bmap_check_rmap_info {struct xfs_scrub_context *sc;int whichfork;struct xfs_iext_cursor icur;@@ -416,13 +416,13 @@ struct xfs_scrub_bmap_check_rmap_info {/* Can we find bmaps that fit this rmap? */ STATIC int -xfs_scrub_bmap_check_rmap ( +xchk_bmap_check_rmap (struct xfs_btree_cur *cur,struct xfs_rmap_irec *rec,void *priv) {struct xfs_bmbt_irec irec; -struct xfs_scrub_bmap_check_rmap_info *sbcri = priv; +struct xchk_bmap_check_rmap_info *sbcri = priv;struct xfs_ifork *ifp;struct xfs_scrub_context *sc = sbcri->sc;bool have_map;@@ -439,14 +439,14 @@ xfs_scrub_bmap_check_rmap(/* Now look up the bmbt record. */ ifp =XFS_IFORK_PTR (sc->ip, sbcri->whichfork);if (!ifp) { -xfs_scrub_fblock_set_corrupt (sc, sbcri->whichfork, +xchk_fblock_set_corrupt (sc, sbcri->whichfork, rec->rm_offset); goto out; } have_map =xfs_iext_lookup_extent (sc->ip, ifp, rec->rm_offset, &sbcri->icur, &irec);if (!have_map) -xfs_scrub_fblock_set_corrupt (sc, sbcri->whichfork, +xchk_fblock_set_corrupt (sc, sbcri->whichfork, rec->rm_offset);/* * bmap extent record lengths are constrained to 2^21 blocks in length @@ -457,14 +457,14 @@ xfs_scrub_bmap_check_rmap(*/ while (have_map) {if (irec.br_startoff != rec->rm_offset) -xfs_scrub_fblock_set_corrupt (sc, sbcri->whichfork, +xchk_fblock_set_corrupt (sc, sbcri->whichfork, rec->rm_offset);if (irec.br_startblock !=XFS_AGB_TO_FSB (sc->mp, cur->bc_private.a.agno, rec->rm_startblock)) -xfs_scrub_fblock_set_corrupt (sc, sbcri->whichfork, +xchk_fblock_set_corrupt (sc, sbcri->whichfork, rec->rm_offset);if (irec.br_blockcount > rec->rm_blockcount) -xfs_scrub_fblock_set_corrupt (sc, sbcri->whichfork, +xchk_fblock_set_corrupt (sc, sbcri->whichfork, rec->rm_offset);if (sc->sm->sm_flags &XFS_SCRUB_OFLAG_CORRUPT )break ;@@ -475,7 +475,7 @@ xfs_scrub_bmap_check_rmap(break ; have_map =xfs_iext_next_extent (ifp, &sbcri->icur, &irec);if (!have_map) -xfs_scrub_fblock_set_corrupt (sc, sbcri->whichfork, +xchk_fblock_set_corrupt (sc, sbcri->whichfork, rec->rm_offset); }@@ -487,12 +487,12 @@ xfs_scrub_bmap_check_rmap(/* Make sure each rmap has a corresponding bmbt entry. */ STATIC int -xfs_scrub_bmap_check_ag_rmaps ( +xchk_bmap_check_ag_rmaps (struct xfs_scrub_context *sc,int whichfork,xfs_agnumber_t agno) { -struct xfs_scrub_bmap_check_rmap_info sbcri; +struct xchk_bmap_check_rmap_info sbcri;struct xfs_btree_cur *cur;struct xfs_buf *agf;int error;@@ -509,7 +509,7 @@ xfs_scrub_bmap_check_ag_rmaps( sbcri.sc = sc; sbcri.whichfork = whichfork; - error =xfs_rmap_query_all (cur, xfs_scrub_bmap_check_rmap, &sbcri); + error =xfs_rmap_query_all (cur, xchk_bmap_check_rmap, &sbcri);if (error ==XFS_BTREE_QUERY_RANGE_ABORT ) error =0 ;@@ -521,7 +521,7 @@ xfs_scrub_bmap_check_ag_rmaps(/* Make sure each rmap has a corresponding bmbt entry. */ STATIC int -xfs_scrub_bmap_check_rmaps ( +xchk_bmap_check_rmaps (struct xfs_scrub_context *sc,int whichfork) {@@ -561,7 +561,7 @@ xfs_scrub_bmap_check_rmaps(return 0 ;for (agno =0 ; agno < sc->mp->m_sb.sb_agcount; agno++) { - error =xfs_scrub_bmap_check_ag_rmaps (sc, whichfork, agno); + error =xchk_bmap_check_ag_rmaps (sc, whichfork, agno);if (error)return error;if (sc->sm->sm_flags &XFS_SCRUB_OFLAG_CORRUPT )@@ -578,12 +578,12 @@ xfs_scrub_bmap_check_rmaps(* Then we unconditionally scan the incore extent cache. */ STATIC int -xfs_scrub_bmap ( +xchk_bmap (struct xfs_scrub_context *sc,int whichfork) {struct xfs_bmbt_irec irec; -struct xfs_scrub_bmap_info info = {NULL }; +struct xchk_bmap_info info = {NULL };struct xfs_mount *mp = sc->mp;struct xfs_inode *ip = sc->ip;struct xfs_ifork *ifp;@@ -605,7 +605,7 @@ xfs_scrub_bmap( goto out;/* No CoW forks on non-reflink inodes/filesystems. */ if (!xfs_is_reflink_inode (ip)) { -xfs_scrub_ino_set_corrupt (sc, sc->ip->i_ino); +xchk_ino_set_corrupt (sc, sc->ip->i_ino); goto out; }break ;@@ -614,7 +614,7 @@ xfs_scrub_bmap( goto out_check_rmap;if (!xfs_sb_version_hasattr (&mp->m_sb) && !xfs_sb_version_hasattr2 (&mp->m_sb)) -xfs_scrub_ino_set_corrupt (sc, sc->ip->i_ino); +xchk_ino_set_corrupt (sc, sc->ip->i_ino);break ;default :ASSERT (whichfork ==XFS_DATA_FORK );@@ -630,22 +630,22 @@ xfs_scrub_bmap( goto out;case XFS_DINODE_FMT_EXTENTS :if (!(ifp->if_flags &XFS_IFEXTENTS )) { -xfs_scrub_fblock_set_corrupt (sc, whichfork,0 ); +xchk_fblock_set_corrupt (sc, whichfork,0 ); goto out; }break ;case XFS_DINODE_FMT_BTREE :if (whichfork ==XFS_COW_FORK ) { -xfs_scrub_fblock_set_corrupt (sc, whichfork,0 ); +xchk_fblock_set_corrupt (sc, whichfork,0 ); goto out; } - error =xfs_scrub_bmap_btree (sc, whichfork, &info); + error =xchk_bmap_btree (sc, whichfork, &info);if (error) goto out;break ;default : -xfs_scrub_fblock_set_corrupt (sc, whichfork,0 ); +xchk_fblock_set_corrupt (sc, whichfork,0 ); goto out; }@@ -655,37 +655,37 @@ xfs_scrub_bmap(/* Now try to scrub the in-memory extent list. */ if (!(ifp->if_flags &XFS_IFEXTENTS )) { error =xfs_iread_extents (sc->tp, ip, whichfork); -if (!xfs_scrub_fblock_process_error (sc, whichfork,0 , &error)) +if (!xchk_fblock_process_error (sc, whichfork,0 , &error)) goto out; }/* Find the offset of the last extent in the mapping. */ error =xfs_bmap_last_offset (ip, &endoff, whichfork); -if (!xfs_scrub_fblock_process_error (sc, whichfork,0 , &error)) +if (!xchk_fblock_process_error (sc, whichfork,0 , &error)) goto out;/* Scrub extent records. */ info.lastoff =0 ; ifp =XFS_IFORK_PTR (ip, whichfork);for_each_xfs_iext (ifp, &icur, &irec) { -if (xfs_scrub_should_terminate (sc, &error) || +if (xchk_should_terminate (sc, &error) || (sc->sm->sm_flags &XFS_SCRUB_OFLAG_CORRUPT ))break ;if (isnullstartblock (irec.br_startblock))continue ;if (irec.br_startoff >= endoff) { -xfs_scrub_fblock_set_corrupt (sc, whichfork, +xchk_fblock_set_corrupt (sc, whichfork, irec.br_startoff); goto out; } - error =xfs_scrub_bmap_extent (ip,NULL , &info, &irec); + error =xchk_bmap_extent (ip,NULL , &info, &irec);if (error) goto out; } out_check_rmap: - error =xfs_scrub_bmap_check_rmaps (sc, whichfork); -if (!xfs_scrub_fblock_xref_process_error (sc, whichfork,0 , &error)) + error =xchk_bmap_check_rmaps (sc, whichfork); +if (!xchk_fblock_xref_process_error (sc, whichfork,0 , &error)) goto out; out:return error;@@ -693,27 +693,27 @@ xfs_scrub_bmap(/* Scrub an inode's data fork. */ int -xfs_scrub_bmap_data ( +xchk_bmap_data (struct xfs_scrub_context *sc) { -return xfs_scrub_bmap (sc,XFS_DATA_FORK ); +return xchk_bmap (sc,XFS_DATA_FORK ); }/* Scrub an inode's attr fork. */ int -xfs_scrub_bmap_attr ( +xchk_bmap_attr (struct xfs_scrub_context *sc) { -return xfs_scrub_bmap (sc,XFS_ATTR_FORK ); +return xchk_bmap (sc,XFS_ATTR_FORK ); }/* Scrub an inode's CoW fork. */ int -xfs_scrub_bmap_cow ( +xchk_bmap_cow (struct xfs_scrub_context *sc) {if (!xfs_is_reflink_inode (sc->ip))return -ENOENT ; -return xfs_scrub_bmap (sc,XFS_COW_FORK ); +return xchk_bmap (sc,XFS_COW_FORK ); }fs/xfs/scrub/btree.c +83
-83@@ -29,7 +29,7 @@* operational errors in common.c. */ static bool -__xfs_scrub_btree_process_error( +__xchk_btree_process_error( struct xfs_scrub_context *sc, struct xfs_btree_cur *cur, int level,@@ -43,7 +43,7 @@ __xfs_scrub_btree_process_error(switch (*error) {case -EDEADLOCK :/* Used to restart an op with deadlock avoidance. */ -trace_xfs_scrub_deadlock_retry (sc->ip, sc->sm, *error); +trace_xchk_deadlock_retry (sc->ip, sc->sm, *error);break ;case -EFSBADCRC :case -EFSCORRUPTED :@@ -53,10 +53,10 @@ __xfs_scrub_btree_process_error(/* fall through */ default :if (cur->bc_flags &XFS_BTREE_ROOT_IN_INODE ) -trace_xfs_scrub_ifork_btree_op_error (sc, cur, level, +trace_xchk_ifork_btree_op_error (sc, cur, level, *error, ret_ip);else -trace_xfs_scrub_btree_op_error (sc, cur, level, +trace_xchk_btree_op_error (sc, cur, level, *error, ret_ip);break ; }@@ -64,30 +64,30 @@ __xfs_scrub_btree_process_error( }bool -xfs_scrub_btree_process_error ( +xchk_btree_process_error (struct xfs_scrub_context *sc,struct xfs_btree_cur *cur,int level,int *error) { -return __xfs_scrub_btree_process_error (sc, cur, level, error, +return __xchk_btree_process_error (sc, cur, level, error,XFS_SCRUB_OFLAG_CORRUPT , __return_address); }bool -xfs_scrub_btree_xref_process_error ( +xchk_btree_xref_process_error (struct xfs_scrub_context *sc,struct xfs_btree_cur *cur,int level,int *error) { -return __xfs_scrub_btree_process_error (sc, cur, level, error, +return __xchk_btree_process_error (sc, cur, level, error,XFS_SCRUB_OFLAG_XFAIL , __return_address); }/* Record btree block corruption. */ static void -__xfs_scrub_btree_set_corrupt( +__xchk_btree_set_corrupt( struct xfs_scrub_context *sc, struct xfs_btree_cur *cur, int level,@@ -97,30 +97,30 @@ __xfs_scrub_btree_set_corrupt( sc->sm->sm_flags |= errflag;if (cur->bc_flags &XFS_BTREE_ROOT_IN_INODE ) -trace_xfs_scrub_ifork_btree_error (sc, cur, level, +trace_xchk_ifork_btree_error (sc, cur, level, ret_ip);else -trace_xfs_scrub_btree_error (sc, cur, level, +trace_xchk_btree_error (sc, cur, level, ret_ip); }void -xfs_scrub_btree_set_corrupt ( +xchk_btree_set_corrupt (struct xfs_scrub_context *sc,struct xfs_btree_cur *cur,int level) { -__xfs_scrub_btree_set_corrupt (sc, cur, level,XFS_SCRUB_OFLAG_CORRUPT , +__xchk_btree_set_corrupt (sc, cur, level,XFS_SCRUB_OFLAG_CORRUPT , __return_address); }void -xfs_scrub_btree_xref_set_corrupt ( +xchk_btree_xref_set_corrupt (struct xfs_scrub_context *sc,struct xfs_btree_cur *cur,int level) { -__xfs_scrub_btree_set_corrupt (sc, cur, level,XFS_SCRUB_OFLAG_XCORRUPT , +__xchk_btree_set_corrupt (sc, cur, level,XFS_SCRUB_OFLAG_XCORRUPT , __return_address); }@@ -129,8 +129,8 @@ xfs_scrub_btree_xref_set_corrupt(* keys. */ STATIC void -xfs_scrub_btree_rec ( -struct xfs_scrub_btree *bs) +xchk_btree_rec ( +struct xchk_btree *bs) {struct xfs_btree_cur *cur = bs->cur;union xfs_btree_rec *rec;@@ -144,11 +144,11 @@ xfs_scrub_btree_rec( block =xfs_btree_get_block (cur,0 , &bp); rec =xfs_btree_rec_addr (cur, cur->bc_ptrs[0 ], block); -trace_xfs_scrub_btree_rec (bs->sc, cur,0 ); +trace_xchk_btree_rec (bs->sc, cur,0 );/* If this isn't the first record, are they in order? */ if (!bs->firstrec && !cur->bc_ops->recs_inorder (cur, &bs->lastrec, rec)) -xfs_scrub_btree_set_corrupt (bs->sc, cur,0 ); +xchk_btree_set_corrupt (bs->sc, cur,0 ); bs->firstrec = false;memcpy (&bs->lastrec, rec, cur->bc_ops->rec_len);@@ -160,7 +160,7 @@ xfs_scrub_btree_rec( keyblock =xfs_btree_get_block (cur,1 , &bp); keyp =xfs_btree_key_addr (cur, cur->bc_ptrs[1 ], keyblock);if (cur->bc_ops->diff_two_keys (cur, &key, keyp) <0 ) -xfs_scrub_btree_set_corrupt (bs->sc, cur,1 ); +xchk_btree_set_corrupt (bs->sc, cur,1 );if (!(cur->bc_flags &XFS_BTREE_OVERLAPPING ))return ;@@ -169,7 +169,7 @@ xfs_scrub_btree_rec( cur->bc_ops->init_high_key_from_rec (&hkey, rec); keyp =xfs_btree_high_key_addr (cur, cur->bc_ptrs[1 ], keyblock);if (cur->bc_ops->diff_two_keys (cur, keyp, &hkey) <0 ) -xfs_scrub_btree_set_corrupt (bs->sc, cur,1 ); +xchk_btree_set_corrupt (bs->sc, cur,1 ); }/* @@ -177,8 +177,8 @@ xfs_scrub_btree_rec(* keys. */ STATIC void -xfs_scrub_btree_key ( -struct xfs_scrub_btree *bs, +xchk_btree_key ( +struct xchk_btree *bs,int level) {struct xfs_btree_cur *cur = bs->cur;@@ -191,12 +191,12 @@ xfs_scrub_btree_key( block =xfs_btree_get_block (cur, level, &bp); key =xfs_btree_key_addr (cur, cur->bc_ptrs[level], block); -trace_xfs_scrub_btree_key (bs->sc, cur, level); +trace_xchk_btree_key (bs->sc, cur, level);/* If this isn't the first key, are they in order? */ if (!bs->firstkey[level] && !cur->bc_ops->keys_inorder (cur, &bs->lastkey[level], key)) -xfs_scrub_btree_set_corrupt (bs->sc, cur, level); +xchk_btree_set_corrupt (bs->sc, cur, level); bs->firstkey[level] = false;memcpy (&bs->lastkey[level], key, cur->bc_ops->key_len);@@ -207,7 +207,7 @@ xfs_scrub_btree_key( keyblock =xfs_btree_get_block (cur, level +1 , &bp); keyp =xfs_btree_key_addr (cur, cur->bc_ptrs[level +1 ], keyblock);if (cur->bc_ops->diff_two_keys (cur, key, keyp) <0 ) -xfs_scrub_btree_set_corrupt (bs->sc, cur, level); +xchk_btree_set_corrupt (bs->sc, cur, level);if (!(cur->bc_flags &XFS_BTREE_OVERLAPPING ))return ;@@ -216,7 +216,7 @@ xfs_scrub_btree_key( key =xfs_btree_high_key_addr (cur, cur->bc_ptrs[level], block); keyp =xfs_btree_high_key_addr (cur, cur->bc_ptrs[level +1 ], keyblock);if (cur->bc_ops->diff_two_keys (cur, keyp, key) <0 ) -xfs_scrub_btree_set_corrupt (bs->sc, cur, level); +xchk_btree_set_corrupt (bs->sc, cur, level); }/* @@ -224,8 +224,8 @@ xfs_scrub_btree_key(* Callers do not need to set the corrupt flag. */ static bool -xfs_scrub_btree_ptr_ok ( -struct xfs_scrub_btree *bs, +xchk_btree_ptr_ok ( +struct xchk_btree *bs,int level,union xfs_btree_ptr *ptr) {@@ -242,15 +242,15 @@ xfs_scrub_btree_ptr_ok(else res =xfs_btree_check_sptr (bs->cur,be32_to_cpu (ptr->s), level);if (!res) -xfs_scrub_btree_set_corrupt (bs->sc, bs->cur, level); +xchk_btree_set_corrupt (bs->sc, bs->cur, level);return res; }/* Check that a btree block's sibling matches what we expect it. */ STATIC int -xfs_scrub_btree_block_check_sibling ( -struct xfs_scrub_btree *bs, +xchk_btree_block_check_sibling ( +struct xchk_btree *bs,int level,int direction,union xfs_btree_ptr *sibling)@@ -264,7 +264,7 @@ xfs_scrub_btree_block_check_sibling(int error; error =xfs_btree_dup_cursor (cur, &ncur); -if (!xfs_scrub_btree_process_error (bs->sc, cur, level +1 , &error) || +if (!xchk_btree_process_error (bs->sc, cur, level +1 , &error) || !ncur)return error;@@ -278,7 +278,7 @@ xfs_scrub_btree_block_check_sibling(else error =xfs_btree_decrement (ncur, level +1 , &success);if (error ==0 && success) -xfs_scrub_btree_set_corrupt (bs->sc, cur, level); +xchk_btree_set_corrupt (bs->sc, cur, level); error =0 ; goto out; }@@ -288,23 +288,23 @@ xfs_scrub_btree_block_check_sibling( error =xfs_btree_increment (ncur, level +1 , &success); else error =xfs_btree_decrement (ncur, level +1 , &success); -if (!xfs_scrub_btree_process_error (bs->sc, cur, level +1 , &error)) +if (!xchk_btree_process_error (bs->sc, cur, level +1 , &error)) goto out;if (!success) { -xfs_scrub_btree_set_corrupt (bs->sc, cur, level +1 ); +xchk_btree_set_corrupt (bs->sc, cur, level +1 ); goto out; }/* Compare upper level pointer to sibling pointer. */ pblock =xfs_btree_get_block (ncur, level +1 , &pbp); pp =xfs_btree_ptr_addr (ncur, ncur->bc_ptrs[level +1 ], pblock); -if (!xfs_scrub_btree_ptr_ok (bs, level +1 , pp)) +if (!xchk_btree_ptr_ok (bs, level +1 , pp)) goto out;if (pbp) -xfs_scrub_buffer_recheck (bs->sc, pbp); +xchk_buffer_recheck (bs->sc, pbp);if (xfs_btree_diff_two_ptrs (cur, pp, sibling)) -xfs_scrub_btree_set_corrupt (bs->sc, cur, level); +xchk_btree_set_corrupt (bs->sc, cur, level); out:xfs_btree_del_cursor (ncur,XFS_BTREE_ERROR );return error;@@ -312,8 +312,8 @@ xfs_scrub_btree_block_check_sibling(/* Check the siblings of a btree block. */ STATIC int -xfs_scrub_btree_block_check_siblings ( -struct xfs_scrub_btree *bs, +xchk_btree_block_check_siblings ( +struct xchk_btree *bs,struct xfs_btree_block *block) {struct xfs_btree_cur *cur = bs->cur;@@ -330,7 +330,7 @@ xfs_scrub_btree_block_check_siblings(if (level == cur->bc_nlevels -1 ) {if (!xfs_btree_ptr_is_null (cur, &leftsib) || !xfs_btree_ptr_is_null (cur, &rightsib)) -xfs_scrub_btree_set_corrupt (bs->sc, cur, level); +xchk_btree_set_corrupt (bs->sc, cur, level); goto out; }@@ -339,10 +339,10 @@ xfs_scrub_btree_block_check_siblings(* parent level pointers? * (These function absorbs error codes for us.) */ - error =xfs_scrub_btree_block_check_sibling (bs, level,-1 , &leftsib); + error =xchk_btree_block_check_sibling (bs, level,-1 , &leftsib);if (error)return error; - error =xfs_scrub_btree_block_check_sibling (bs, level,1 , &rightsib); + error =xchk_btree_block_check_sibling (bs, level,1 , &rightsib);if (error)return error; out:@@ -360,8 +360,8 @@ struct check_owner {* an rmap record for it. */ STATIC int -xfs_scrub_btree_check_block_owner ( -struct xfs_scrub_btree *bs, +xchk_btree_check_block_owner ( +struct xchk_btree *bs,int level,xfs_daddr_t daddr) {@@ -380,13 +380,13 @@ xfs_scrub_btree_check_block_owner( init_sa = bs->cur->bc_flags &XFS_BTREE_LONG_PTRS ;if (init_sa) { - error =xfs_scrub_ag_init (bs->sc, agno, &bs->sc->sa); -if (!xfs_scrub_btree_xref_process_error (bs->sc, bs->cur, + error =xchk_ag_init (bs->sc, agno, &bs->sc->sa); +if (!xchk_btree_xref_process_error (bs->sc, bs->cur, level, &error))return error; } -xfs_scrub_xref_is_used_space (bs->sc, agbno,1 ); +xchk_xref_is_used_space (bs->sc, agbno,1 );/* * The bnobt scrubber aliases bs->cur to bs->sc->sa.bno_cur, so we * have to nullify it (to shut down further block owner checks) if @@ -395,20 +395,20 @@ xfs_scrub_btree_check_block_owner(if (!bs->sc->sa.bno_cur && btnum ==XFS_BTNUM_BNO ) bs->cur =NULL ; -xfs_scrub_xref_is_owned_by (bs->sc, agbno,1 , bs->oinfo); +xchk_xref_is_owned_by (bs->sc, agbno,1 , bs->oinfo);if (!bs->sc->sa.rmap_cur && btnum ==XFS_BTNUM_RMAP ) bs->cur =NULL ;if (init_sa) -xfs_scrub_ag_free (bs->sc, &bs->sc->sa); +xchk_ag_free (bs->sc, &bs->sc->sa);return error; }/* Check the owner of a btree block. */ STATIC int -xfs_scrub_btree_check_owner ( -struct xfs_scrub_btree *bs, +xchk_btree_check_owner ( +struct xchk_btree *bs,int level,struct xfs_buf *bp) {@@ -437,7 +437,7 @@ xfs_scrub_btree_check_owner(return 0 ; } -return xfs_scrub_btree_check_block_owner (bs, level,XFS_BUF_ADDR (bp)); +return xchk_btree_check_block_owner (bs, level,XFS_BUF_ADDR (bp)); }/* @@ -445,8 +445,8 @@ xfs_scrub_btree_check_owner(* special blocks that don't require that. */ STATIC void -xfs_scrub_btree_check_minrecs ( -struct xfs_scrub_btree *bs, +xchk_btree_check_minrecs ( +struct xchk_btree *bs,int level,struct xfs_btree_block *block) {@@ -475,7 +475,7 @@ xfs_scrub_btree_check_minrecs(if (level >= ok_level)return ; -xfs_scrub_btree_set_corrupt (bs->sc, bs->cur, level); +xchk_btree_set_corrupt (bs->sc, bs->cur, level); }/* @@ -483,8 +483,8 @@ xfs_scrub_btree_check_minrecs(* and buffer pointers (if applicable) if they're ok to use. */ STATIC int -xfs_scrub_btree_get_block( - struct xfs_scrub_btree *bs, +xchk_btree_get_block( + struct xchk_btree *bs, int level, union xfs_btree_ptr *pp, struct xfs_btree_block **pblock,@@ -497,7 +497,7 @@ xfs_scrub_btree_get_block( *pbp =NULL ; error =xfs_btree_lookup_get_block (bs->cur, level, pp, pblock); -if (!xfs_scrub_btree_process_error (bs->sc, bs->cur, level, &error) || +if (!xchk_btree_process_error (bs->sc, bs->cur, level, &error) || !*pblock)return error;@@ -509,19 +509,19 @@ xfs_scrub_btree_get_block( failed_at =__xfs_btree_check_sblock (bs->cur, *pblock, level, *pbp);if (failed_at) { -xfs_scrub_btree_set_corrupt (bs->sc, bs->cur, level); +xchk_btree_set_corrupt (bs->sc, bs->cur, level);return 0 ; }if (*pbp) -xfs_scrub_buffer_recheck (bs->sc, *pbp); +xchk_buffer_recheck (bs->sc, *pbp); -xfs_scrub_btree_check_minrecs (bs, level, *pblock); +xchk_btree_check_minrecs (bs, level, *pblock);/* * Check the block's owner; this function absorbs error codes * for us. */ - error =xfs_scrub_btree_check_owner (bs, level, *pbp); + error =xchk_btree_check_owner (bs, level, *pbp);if (error)return error;@@ -529,7 +529,7 @@ xfs_scrub_btree_get_block(* Check the block's siblings; this function absorbs error codes * for us. */ -return xfs_scrub_btree_block_check_siblings (bs, *pblock); +return xchk_btree_block_check_siblings (bs, *pblock); }/* @@ -537,8 +537,8 @@ xfs_scrub_btree_get_block(* in the parent block. */ STATIC void -xfs_scrub_btree_block_keys ( -struct xfs_scrub_btree *bs, +xchk_btree_block_keys ( +struct xchk_btree *bs,int level,struct xfs_btree_block *block) {@@ -562,7 +562,7 @@ xfs_scrub_btree_block_keys( parent_block);if (cur->bc_ops->diff_two_keys (cur, &block_keys, parent_keys) !=0 ) -xfs_scrub_btree_set_corrupt (bs->sc, cur,1 ); +xchk_btree_set_corrupt (bs->sc, cur,1 );if (!(cur->bc_flags &XFS_BTREE_OVERLAPPING ))return ;@@ -573,7 +573,7 @@ xfs_scrub_btree_block_keys( parent_block);if (cur->bc_ops->diff_two_keys (cur, high_bk, high_pk) !=0 ) -xfs_scrub_btree_set_corrupt (bs->sc, cur,1 ); +xchk_btree_set_corrupt (bs->sc, cur,1 ); }/* @@ -582,14 +582,14 @@ xfs_scrub_btree_block_keys(* so that the caller can verify individual records. */ int -xfs_scrub_btree ( +xchk_btree (struct xfs_scrub_context *sc,struct xfs_btree_cur *cur, -xfs_scrub_btree_rec_fn scrub_fn, +xchk_btree_rec_fn scrub_fn,struct xfs_owner_info *oinfo,void *private) { -struct xfs_scrub_btree bs = {NULL }; +struct xchk_btree bs = {NULL };union xfs_btree_ptr ptr;union xfs_btree_ptr *pp;union xfs_btree_rec *recp;@@ -614,7 +614,7 @@ xfs_scrub_btree(/* Don't try to check a tree with a height we can't handle. */ if (cur->bc_nlevels >XFS_BTREE_MAXLEVELS ) { -xfs_scrub_btree_set_corrupt (sc, cur,0 ); +xchk_btree_set_corrupt (sc, cur,0 ); goto out; }@@ -624,9 +624,9 @@ xfs_scrub_btree(*/ level = cur->bc_nlevels -1 ; cur->bc_ops->init_ptr_from_cur (cur, &ptr); -if (!xfs_scrub_btree_ptr_ok (&bs, cur->bc_nlevels, &ptr)) +if (!xchk_btree_ptr_ok (&bs, cur->bc_nlevels, &ptr)) goto out; - error =xfs_scrub_btree_get_block (&bs, level, &ptr, &block, &bp); + error =xchk_btree_get_block (&bs, level, &ptr, &block, &bp);if (error || !block) goto out;@@ -639,7 +639,7 @@ xfs_scrub_btree(/* End of leaf, pop back towards the root. */ if (cur->bc_ptrs[level] >be16_to_cpu (block->bb_numrecs)) { -xfs_scrub_btree_block_keys (&bs, level, block); +xchk_btree_block_keys (&bs, level, block);if (level < cur->bc_nlevels -1 ) cur->bc_ptrs[level +1 ]++; level++;@@ -647,14 +647,14 @@ xfs_scrub_btree( }/* Records in order for scrub? */ -xfs_scrub_btree_rec (&bs); +xchk_btree_rec (&bs);/* Call out to the record checker. */ recp =xfs_btree_rec_addr (cur, cur->bc_ptrs[0 ], block); error = bs.scrub_rec (&bs, recp);if (error)break ; -if (xfs_scrub_should_terminate (sc, &error) || +if (xchk_should_terminate (sc, &error) || (sc->sm->sm_flags &XFS_SCRUB_OFLAG_CORRUPT ))break ;@@ -664,7 +664,7 @@ xfs_scrub_btree(/* End of node, pop back towards the root. */ if (cur->bc_ptrs[level] >be16_to_cpu (block->bb_numrecs)) { -xfs_scrub_btree_block_keys (&bs, level, block); +xchk_btree_block_keys (&bs, level, block);if (level < cur->bc_nlevels -1 ) cur->bc_ptrs[level +1 ]++; level++;@@ -672,16 +672,16 @@ xfs_scrub_btree( }/* Keys in order for scrub? */ -xfs_scrub_btree_key (&bs, level); +xchk_btree_key (&bs, level);/* Drill another level deeper. */ pp =xfs_btree_ptr_addr (cur, cur->bc_ptrs[level], block); -if (!xfs_scrub_btree_ptr_ok (&bs, level, pp)) { +if (!xchk_btree_ptr_ok (&bs, level, pp)) { cur->bc_ptrs[level]++;continue ; } level--; - error =xfs_scrub_btree_get_block (&bs, level, pp, &block, &bp); + error =xchk_btree_get_block (&bs, level, pp, &block, &bp);if (error || !block) goto out;@@ -692,7 +692,7 @@ xfs_scrub_btree(/* Process deferred owner checks on btree blocks. */ list_for_each_entry_safe (co, n, &bs.to_check, list) {if (!error && bs.cur) - error =xfs_scrub_btree_check_block_owner (&bs, + error =xchk_btree_check_block_owner (&bs, co->level, co->daddr);list_del (&co->list);kmem_free (co);fs/xfs/scrub/btree.h +11
-11@@ -9,32 +9,32 @@/* btree scrub */ /* Check for btree operation errors. */ -bool xfs_scrub_btree_process_error (struct xfs_scrub_context *sc, +bool xchk_btree_process_error (struct xfs_scrub_context *sc,struct xfs_btree_cur *cur,int level,int *error);/* Check for btree xref operation errors. */ -bool xfs_scrub_btree_xref_process_error (struct xfs_scrub_context *sc, +bool xchk_btree_xref_process_error (struct xfs_scrub_context *sc,struct xfs_btree_cur *cur,int level,int *error);/* Check for btree corruption. */ -void xfs_scrub_btree_set_corrupt (struct xfs_scrub_context *sc, +void xchk_btree_set_corrupt (struct xfs_scrub_context *sc,struct xfs_btree_cur *cur,int level);/* Check for btree xref discrepancies. */ -void xfs_scrub_btree_xref_set_corrupt (struct xfs_scrub_context *sc, +void xchk_btree_xref_set_corrupt (struct xfs_scrub_context *sc,struct xfs_btree_cur *cur,int level); -struct xfs_scrub_btree ; -typedef int (*xfs_scrub_btree_rec_fn )( -struct xfs_scrub_btree *bs, +struct xchk_btree ; +typedef int (*xchk_btree_rec_fn )( +struct xchk_btree *bs,union xfs_btree_rec *rec); -struct xfs_scrub_btree { +struct xchk_btree {/* caller-provided scrub state */ struct xfs_scrub_context *sc;struct xfs_btree_cur *cur; -xfs_scrub_btree_rec_fn scrub_rec; +xchk_btree_rec_fn scrub_rec;struct xfs_owner_info *oinfo;void *private;@@ -45,8 +45,8 @@ struct xfs_scrub_btree {bool firstkey[XFS_BTREE_MAXLEVELS ]; struct list_head to_check; }; -int xfs_scrub_btree (struct xfs_scrub_context *sc,struct xfs_btree_cur *cur, -xfs_scrub_btree_rec_fn scrub_fn, +int xchk_btree (struct xfs_scrub_context *sc,struct xfs_btree_cur *cur, +xchk_btree_rec_fn scrub_fn,struct xfs_owner_info *oinfo,void *private);#endif /* __XFS_SCRUB_BTREE_H__ */ fs/xfs/scrub/common.c +86
-86@@ -68,7 +68,7 @@/* Check for operational errors. */ static bool -__xfs_scrub_process_error( +__xchk_process_error( struct xfs_scrub_context *sc, xfs_agnumber_t agno, xfs_agblock_t bno,@@ -81,7 +81,7 @@ __xfs_scrub_process_error(return true;case -EDEADLOCK :/* Used to restart an op with deadlock avoidance. */ -trace_xfs_scrub_deadlock_retry (sc->ip, sc->sm, *error); +trace_xchk_deadlock_retry (sc->ip, sc->sm, *error);break ;case -EFSBADCRC :case -EFSCORRUPTED :@@ -90,7 +90,7 @@ __xfs_scrub_process_error( *error =0 ;/* fall through */ default : -trace_xfs_scrub_op_error (sc, agno, bno, *error, +trace_xchk_op_error (sc, agno, bno, *error, ret_ip);break ; }@@ -98,30 +98,30 @@ __xfs_scrub_process_error( }bool -xfs_scrub_process_error ( +xchk_process_error (struct xfs_scrub_context *sc,xfs_agnumber_t agno,xfs_agblock_t bno,int *error) { -return __xfs_scrub_process_error (sc, agno, bno, error, +return __xchk_process_error (sc, agno, bno, error,XFS_SCRUB_OFLAG_CORRUPT , __return_address); }bool -xfs_scrub_xref_process_error ( +xchk_xref_process_error (struct xfs_scrub_context *sc,xfs_agnumber_t agno,xfs_agblock_t bno,int *error) { -return __xfs_scrub_process_error (sc, agno, bno, error, +return __xchk_process_error (sc, agno, bno, error,XFS_SCRUB_OFLAG_XFAIL , __return_address); }/* Check for operational errors for a file offset. */ static bool -__xfs_scrub_fblock_process_error( +__xchk_fblock_process_error( struct xfs_scrub_context *sc, int whichfork, xfs_fileoff_t offset,@@ -134,7 +134,7 @@ __xfs_scrub_fblock_process_error(return true;case -EDEADLOCK :/* Used to restart an op with deadlock avoidance. */ -trace_xfs_scrub_deadlock_retry (sc->ip, sc->sm, *error); +trace_xchk_deadlock_retry (sc->ip, sc->sm, *error);break ;case -EFSBADCRC :case -EFSCORRUPTED :@@ -143,7 +143,7 @@ __xfs_scrub_fblock_process_error( *error =0 ;/* fall through */ default : -trace_xfs_scrub_file_op_error (sc, whichfork, offset, *error, +trace_xchk_file_op_error (sc, whichfork, offset, *error, ret_ip);break ; }@@ -151,24 +151,24 @@ __xfs_scrub_fblock_process_error( }bool -xfs_scrub_fblock_process_error ( +xchk_fblock_process_error (struct xfs_scrub_context *sc,int whichfork,xfs_fileoff_t offset,int *error) { -return __xfs_scrub_fblock_process_error (sc, whichfork, offset, error, +return __xchk_fblock_process_error (sc, whichfork, offset, error,XFS_SCRUB_OFLAG_CORRUPT , __return_address); }bool -xfs_scrub_fblock_xref_process_error ( +xchk_fblock_xref_process_error (struct xfs_scrub_context *sc,int whichfork,xfs_fileoff_t offset,int *error) { -return __xfs_scrub_fblock_process_error (sc, whichfork, offset, error, +return __xchk_fblock_process_error (sc, whichfork, offset, error,XFS_SCRUB_OFLAG_XFAIL , __return_address); }@@ -186,12 +186,12 @@ xfs_scrub_fblock_xref_process_error(/* Record a block which could be optimized. */ void -xfs_scrub_block_set_preen ( +xchk_block_set_preen (struct xfs_scrub_context *sc,struct xfs_buf *bp) { sc->sm->sm_flags |=XFS_SCRUB_OFLAG_PREEN ; -trace_xfs_scrub_block_preen (sc, bp->b_bn, __return_address); +trace_xchk_block_preen (sc, bp->b_bn, __return_address); }/* @@ -200,32 +200,32 @@ xfs_scrub_block_set_preen(* the block location of the inode record itself. */ void -xfs_scrub_ino_set_preen ( +xchk_ino_set_preen (struct xfs_scrub_context *sc,xfs_ino_t ino) { sc->sm->sm_flags |=XFS_SCRUB_OFLAG_PREEN ; -trace_xfs_scrub_ino_preen (sc, ino, __return_address); +trace_xchk_ino_preen (sc, ino, __return_address); }/* Record a corrupt block. */ void -xfs_scrub_block_set_corrupt ( +xchk_block_set_corrupt (struct xfs_scrub_context *sc,struct xfs_buf *bp) { sc->sm->sm_flags |=XFS_SCRUB_OFLAG_CORRUPT ; -trace_xfs_scrub_block_error (sc, bp->b_bn, __return_address); +trace_xchk_block_error (sc, bp->b_bn, __return_address); }/* Record a corruption while cross-referencing. */ void -xfs_scrub_block_xref_set_corrupt ( +xchk_block_xref_set_corrupt (struct xfs_scrub_context *sc,struct xfs_buf *bp) { sc->sm->sm_flags |=XFS_SCRUB_OFLAG_XCORRUPT ; -trace_xfs_scrub_block_error (sc, bp->b_bn, __return_address); +trace_xchk_block_error (sc, bp->b_bn, __return_address); }/* @@ -234,44 +234,44 @@ xfs_scrub_block_xref_set_corrupt(* inode record itself. */ void -xfs_scrub_ino_set_corrupt ( +xchk_ino_set_corrupt (struct xfs_scrub_context *sc,xfs_ino_t ino) { sc->sm->sm_flags |=XFS_SCRUB_OFLAG_CORRUPT ; -trace_xfs_scrub_ino_error (sc, ino, __return_address); +trace_xchk_ino_error (sc, ino, __return_address); }/* Record a corruption while cross-referencing with an inode. */ void -xfs_scrub_ino_xref_set_corrupt ( +xchk_ino_xref_set_corrupt (struct xfs_scrub_context *sc,xfs_ino_t ino) { sc->sm->sm_flags |=XFS_SCRUB_OFLAG_XCORRUPT ; -trace_xfs_scrub_ino_error (sc, ino, __return_address); +trace_xchk_ino_error (sc, ino, __return_address); }/* Record corruption in a block indexed by a file fork. */ void -xfs_scrub_fblock_set_corrupt ( +xchk_fblock_set_corrupt (struct xfs_scrub_context *sc,int whichfork,xfs_fileoff_t offset) { sc->sm->sm_flags |=XFS_SCRUB_OFLAG_CORRUPT ; -trace_xfs_scrub_fblock_error (sc, whichfork, offset, __return_address); +trace_xchk_fblock_error (sc, whichfork, offset, __return_address); }/* Record a corruption while cross-referencing a fork block. */ void -xfs_scrub_fblock_xref_set_corrupt ( +xchk_fblock_xref_set_corrupt (struct xfs_scrub_context *sc,int whichfork,xfs_fileoff_t offset) { sc->sm->sm_flags |=XFS_SCRUB_OFLAG_XCORRUPT ; -trace_xfs_scrub_fblock_error (sc, whichfork, offset, __return_address); +trace_xchk_fblock_error (sc, whichfork, offset, __return_address); }/* @@ -279,32 +279,32 @@ xfs_scrub_fblock_xref_set_corrupt(* incorrect. */ void -xfs_scrub_ino_set_warning ( +xchk_ino_set_warning (struct xfs_scrub_context *sc,xfs_ino_t ino) { sc->sm->sm_flags |=XFS_SCRUB_OFLAG_WARNING ; -trace_xfs_scrub_ino_warning (sc, ino, __return_address); +trace_xchk_ino_warning (sc, ino, __return_address); }/* Warn about a block indexed by a file fork that needs review. */ void -xfs_scrub_fblock_set_warning ( +xchk_fblock_set_warning (struct xfs_scrub_context *sc,int whichfork,xfs_fileoff_t offset) { sc->sm->sm_flags |=XFS_SCRUB_OFLAG_WARNING ; -trace_xfs_scrub_fblock_warning (sc, whichfork, offset, __return_address); +trace_xchk_fblock_warning (sc, whichfork, offset, __return_address); }/* Signal an incomplete scrub. */ void -xfs_scrub_set_incomplete ( +xchk_set_incomplete (struct xfs_scrub_context *sc) { sc->sm->sm_flags |=XFS_SCRUB_OFLAG_INCOMPLETE ; -trace_xfs_scrub_incomplete (sc, __return_address); +trace_xchk_incomplete (sc, __return_address); }/* @@ -312,18 +312,18 @@ xfs_scrub_set_incomplete(* at least according to the reverse mapping data. */ -struct xfs_scrub_rmap_ownedby_info { +struct xchk_rmap_ownedby_info {struct xfs_owner_info *oinfo;xfs_filblks_t *blocks; }; STATIC int -xfs_scrub_count_rmap_ownedby_irec ( +xchk_count_rmap_ownedby_irec (struct xfs_btree_cur *cur,struct xfs_rmap_irec *rec,void *priv) { -struct xfs_scrub_rmap_ownedby_info *sroi = priv; +struct xchk_rmap_ownedby_info *sroi = priv;bool irec_attr;bool oinfo_attr;@@ -344,19 +344,19 @@ xfs_scrub_count_rmap_ownedby_irec(* The caller should pass us an rmapbt cursor. */ int -xfs_scrub_count_rmap_ownedby_ag ( +xchk_count_rmap_ownedby_ag (struct xfs_scrub_context *sc,struct xfs_btree_cur *cur,struct xfs_owner_info *oinfo,xfs_filblks_t *blocks) { -struct xfs_scrub_rmap_ownedby_info sroi; +struct xchk_rmap_ownedby_info sroi; sroi.oinfo = oinfo; *blocks =0 ; sroi.blocks = blocks; -return xfs_rmap_query_all (cur, xfs_scrub_count_rmap_ownedby_irec, +return xfs_rmap_query_all (cur, xchk_count_rmap_ownedby_irec, &sroi); }@@ -392,12 +392,12 @@ want_ag_read_header_failure(/* * Grab all the headers for an AG. * -* The headers should be released by xfs_scrub_ag_free, but as a fail +* The headers should be released by xchk_ag_free, but as a fail * safe we attach all the buffers we grab to the scrub transaction so * they'll all be freed when we cancel it. */ int -xfs_scrub_ag_read_headers( +xchk_ag_read_headers( struct xfs_scrub_context *sc, xfs_agnumber_t agno, struct xfs_buf **agi,@@ -425,8 +425,8 @@ xfs_scrub_ag_read_headers(/* Release all the AG btree cursors. */ void -xfs_scrub_ag_btcur_free ( -struct xfs_scrub_ag *sa) +xchk_ag_btcur_free ( +struct xchk_ag *sa) {if (sa->refc_cur)xfs_btree_del_cursor (sa->refc_cur,XFS_BTREE_ERROR );@@ -451,9 +451,9 @@ xfs_scrub_ag_btcur_free(/* Initialize all the btree cursors for an AG. */ int -xfs_scrub_ag_btcur_init ( +xchk_ag_btcur_init (struct xfs_scrub_context *sc, -struct xfs_scrub_ag *sa) +struct xchk_ag *sa) {struct xfs_mount *mp = sc->mp;xfs_agnumber_t agno = sa->agno;@@ -511,11 +511,11 @@ xfs_scrub_ag_btcur_init(/* Release the AG header context and btree cursors. */ void -xfs_scrub_ag_free ( +xchk_ag_free (struct xfs_scrub_context *sc, -struct xfs_scrub_ag *sa) +struct xchk_ag *sa) { -xfs_scrub_ag_btcur_free (sa); +xchk_ag_btcur_free (sa);if (sa->agfl_bp) {xfs_trans_brelse (sc->tp, sa->agfl_bp); sa->agfl_bp =NULL ;@@ -543,30 +543,30 @@ xfs_scrub_ag_free(* transaction ourselves. */ int -xfs_scrub_ag_init ( +xchk_ag_init (struct xfs_scrub_context *sc,xfs_agnumber_t agno, -struct xfs_scrub_ag *sa) +struct xchk_ag *sa) {int error; sa->agno = agno; - error =xfs_scrub_ag_read_headers (sc, agno, &sa->agi_bp, + error =xchk_ag_read_headers (sc, agno, &sa->agi_bp, &sa->agf_bp, &sa->agfl_bp);if (error)return error; -return xfs_scrub_ag_btcur_init (sc, sa); +return xchk_ag_btcur_init (sc, sa); }/* * Grab the per-ag structure if we haven't already gotten it. Teardown of the -* xfs_scrub_ag will release it for us. +* xchk_ag will release it for us. */ void -xfs_scrub_perag_get ( +xchk_perag_get (struct xfs_mount *mp, -struct xfs_scrub_ag *sa) +struct xchk_ag *sa) {if (!sa->pag) sa->pag =xfs_perag_get (mp, sa->agno);@@ -585,7 +585,7 @@ xfs_scrub_perag_get(* the metadata object. */ int -xfs_scrub_trans_alloc ( +xchk_trans_alloc (struct xfs_scrub_context *sc,uint resblks) {@@ -598,19 +598,19 @@ xfs_scrub_trans_alloc(/* Set us up with a transaction and an empty context. */ int -xfs_scrub_setup_fs ( +xchk_setup_fs (struct xfs_scrub_context *sc,struct xfs_inode *ip) {uint resblks; resblks =xfs_repair_calc_ag_resblks (sc); -return xfs_scrub_trans_alloc (sc, resblks); +return xchk_trans_alloc (sc, resblks); }/* Set us up with AG headers and btree cursors. */ int -xfs_scrub_setup_ag_btree ( +xchk_setup_ag_btree (struct xfs_scrub_context *sc,struct xfs_inode *ip,bool force_log)@@ -625,21 +625,21 @@ xfs_scrub_setup_ag_btree(* document why they need to do so. */ if (force_log) { - error =xfs_scrub_checkpoint_log (mp); + error =xchk_checkpoint_log (mp);if (error)return error; } - error =xfs_scrub_setup_fs (sc, ip); + error =xchk_setup_fs (sc, ip);if (error)return error; -return xfs_scrub_ag_init (sc, sc->sm->sm_agno, &sc->sa); +return xchk_ag_init (sc, sc->sm->sm_agno, &sc->sa); }/* Push everything out of the log onto disk. */ int -xfs_scrub_checkpoint_log ( +xchk_checkpoint_log (struct xfs_mount *mp) {int error;@@ -657,7 +657,7 @@ xfs_scrub_checkpoint_log(* The inode is not locked. */ int -xfs_scrub_get_inode ( +xchk_get_inode (struct xfs_scrub_context *sc,struct xfs_inode *ip_in) {@@ -704,7 +704,7 @@ xfs_scrub_get_inode( error = -EFSCORRUPTED ;/* fall through */ default : -trace_xfs_scrub_op_error (sc, +trace_xchk_op_error (sc,XFS_INO_TO_AGNO (mp, sc->sm->sm_ino),XFS_INO_TO_AGBNO (mp, sc->sm->sm_ino), error, __return_address);@@ -721,21 +721,21 @@ xfs_scrub_get_inode(/* Set us up to scrub a file's contents. */ int -xfs_scrub_setup_inode_contents ( +xchk_setup_inode_contents (struct xfs_scrub_context *sc,struct xfs_inode *ip,unsigned int resblks) {int error; - error =xfs_scrub_get_inode (sc, ip); + error =xchk_get_inode (sc, ip);if (error)return error;/* Got the inode, lock it and we're ready to go. */ sc->ilock_flags =XFS_IOLOCK_EXCL |XFS_MMAPLOCK_EXCL ;xfs_ilock (sc->ip, sc->ilock_flags); - error =xfs_scrub_trans_alloc (sc, resblks); + error =xchk_trans_alloc (sc, resblks);if (error) goto out; sc->ilock_flags |=XFS_ILOCK_EXCL ;@@ -752,13 +752,13 @@ xfs_scrub_setup_inode_contents(* the cursor and skip the check. */ bool -xfs_scrub_should_check_xref ( +xchk_should_check_xref (struct xfs_scrub_context *sc,int *error,struct xfs_btree_cur **curpp) {/* No point in xref if we already know we're corrupt. */ -if (xfs_scrub_skip_xref (sc->sm)) +if (xchk_skip_xref (sc->sm))return false;if (*error ==0 )@@ -775,7 +775,7 @@ xfs_scrub_should_check_xref( } sc->sm->sm_flags |=XFS_SCRUB_OFLAG_XFAIL ; -trace_xfs_scrub_xref_error (sc, *error, __return_address); +trace_xchk_xref_error (sc, *error, __return_address);/* * Errors encountered during cross-referencing with another @@ -787,25 +787,25 @@ xfs_scrub_should_check_xref(/* Run the structure verifiers on in-memory buffers to detect bad memory. */ void -xfs_scrub_buffer_recheck ( +xchk_buffer_recheck (struct xfs_scrub_context *sc,struct xfs_buf *bp) {xfs_failaddr_t fa;if (bp->b_ops ==NULL ) { -xfs_scrub_block_set_corrupt (sc, bp); +xchk_block_set_corrupt (sc, bp);return ; }if (bp->b_ops->verify_struct ==NULL ) { -xfs_scrub_set_incomplete (sc); +xchk_set_incomplete (sc);return ; } fa = bp->b_ops->verify_struct (bp);if (!fa)return ; sc->sm->sm_flags |=XFS_SCRUB_OFLAG_CORRUPT ; -trace_xfs_scrub_block_error (sc, bp->b_bn, fa); +trace_xchk_block_error (sc, bp->b_bn, fa); }/* @@ -813,7 +813,7 @@ xfs_scrub_buffer_recheck(* pointed to by sc->ip and the ILOCK must be held. */ int -xfs_scrub_metadata_inode_forks ( +xchk_metadata_inode_forks (struct xfs_scrub_context *sc) {__u32 smtype;@@ -825,26 +825,26 @@ xfs_scrub_metadata_inode_forks(/* Metadata inodes don't live on the rt device. */ if (sc->ip->i_d.di_flags &XFS_DIFLAG_REALTIME ) { -xfs_scrub_ino_set_corrupt (sc, sc->ip->i_ino); +xchk_ino_set_corrupt (sc, sc->ip->i_ino);return 0 ; }/* They should never participate in reflink. */ if (xfs_is_reflink_inode (sc->ip)) { -xfs_scrub_ino_set_corrupt (sc, sc->ip->i_ino); +xchk_ino_set_corrupt (sc, sc->ip->i_ino);return 0 ; }/* They also should never have extended attributes. */ if (xfs_inode_hasattr (sc->ip)) { -xfs_scrub_ino_set_corrupt (sc, sc->ip->i_ino); +xchk_ino_set_corrupt (sc, sc->ip->i_ino);return 0 ; }Lines of this file are not shown. View the raw message.
The rest of this diff is not shown. View the raw message.
To unsubscribe from this list: send the line "unsubscribe linux-xfs" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Part of the diff is not shown here. View the raw message.
PATCH 6/8 xfs: shorten xfs_repair_ prefix to xrep_
In reply to Darrick J. WongFrom: Darrick J. Wong <[email protected]>
Shorten all the metadata repair xfs_repair_* symbols to xrep_. Whitespace damage will be fixed by a subsequent patch. There are no functional changes.
--- fs/xfs/scrub/agheader_repair.c | 2 fs/xfs/scrub/common.c | 2 fs/xfs/scrub/repair.c | 164 ++++++++++++++++++++-------------------- fs/xfs/scrub/repair.h | 74 +++++++++--------- fs/xfs/scrub/scrub.c | 54 +++++++------ fs/xfs/scrub/trace.h | 40 +++++----- 6 files changed, 168 insertions(+), 168 deletions(-)
fs/xfs/scrub/agheader_repair.c +1 -1
@@ -28,7 +28,7 @@/* Repair the superblock. */ int -xfs_repair_superblock ( +xrep_superblock (struct xfs_scrub_context *sc) {struct xfs_mount *mp = sc->mp;
fs/xfs/scrub/common.c +1 -1
@@ -604,7 +604,7 @@ xchk_setup_fs( {uint resblks; - resblks =xfs_repair_calc_ag_resblks (sc); + resblks =xrep_calc_ag_resblks (sc);return xchk_trans_alloc (sc, resblks); }
fs/xfs/scrub/repair.c +82 -82
478 lines not on this page · raw message
fs/xfs/scrub/repair.h +37 -37
138 lines not on this page · raw message
fs/xfs/scrub/scrub.c +27 -27
197 lines not on this page · raw message
fs/xfs/scrub/trace.h +20 -20
@@ -55,8 +55,8 @@ DEFINE_EVENT(xchk_class, name, \DEFINE_SCRUB_EVENT (xchk_start);DEFINE_SCRUB_EVENT (xchk_done);DEFINE_SCRUB_EVENT (xchk_deadlock_retry); -DEFINE_SCRUB_EVENT (xfs_repair_attempt); -DEFINE_SCRUB_EVENT (xfs_repair_done); +DEFINE_SCRUB_EVENT (xrep_attempt); +DEFINE_SCRUB_EVENT (xrep_done); TRACE_EVENT(xchk_op_error, TP_PROTO(struct xfs_scrub_context *sc, xfs_agnumber_t agno,
@@ -483,7 +483,7 @@ TRACE_EVENT(xchk_xref_error,/* repair tracepoints */ #if IS_ENABLED (CONFIG_XFS_ONLINE_REPAIR ) -DECLARE_EVENT_CLASS(xfs_repair_extent_class, +DECLARE_EVENT_CLASS(xrep_extent_class, TP_PROTO(struct xfs_mount *mp, xfs_agnumber_t agno, xfs_agblock_t agbno, xfs_extlen_t len), TP_ARGS(mp, agno, agbno, len),
@@ -506,15 +506,15 @@ DECLARE_EVENT_CLASS(xfs_repair_extent_class, __entry->len) );#define DEFINE_REPAIR_EXTENT_EVENT (name) \ -DEFINE_EVENT(xfs_repair_extent_class, name, \ +DEFINE_EVENT(xrep_extent_class, name, \ TP_PROTO(struct xfs_mount *mp, xfs_agnumber_t agno, \ xfs_agblock_t agbno, xfs_extlen_t len), \ TP_ARGS(mp, agno, agbno, len)) -DEFINE_REPAIR_EXTENT_EVENT (xfs_repair_dispose_btree_extent); -DEFINE_REPAIR_EXTENT_EVENT (xfs_repair_collect_btree_extent); -DEFINE_REPAIR_EXTENT_EVENT (xfs_repair_agfl_insert); +DEFINE_REPAIR_EXTENT_EVENT (xrep_dispose_btree_extent); +DEFINE_REPAIR_EXTENT_EVENT (xrep_collect_btree_extent); +DEFINE_REPAIR_EXTENT_EVENT (xrep_agfl_insert); -DECLARE_EVENT_CLASS(xfs_repair_rmap_class, +DECLARE_EVENT_CLASS(xrep_rmap_class, TP_PROTO(struct xfs_mount *mp, xfs_agnumber_t agno, xfs_agblock_t agbno, xfs_extlen_t len, uint64_t owner, uint64_t offset, unsigned int flags),
@@ -547,17 +547,17 @@ DECLARE_EVENT_CLASS(xfs_repair_rmap_class, __entry->flags) );#define DEFINE_REPAIR_RMAP_EVENT (name) \ -DEFINE_EVENT(xfs_repair_rmap_class, name, \ +DEFINE_EVENT(xrep_rmap_class, name, \ TP_PROTO(struct xfs_mount *mp, xfs_agnumber_t agno, \ xfs_agblock_t agbno, xfs_extlen_t len, \ uint64_t owner, uint64_t offset, unsigned int flags), \ TP_ARGS(mp, agno, agbno, len, owner, offset, flags)) -DEFINE_REPAIR_RMAP_EVENT (xfs_repair_alloc_extent_fn); -DEFINE_REPAIR_RMAP_EVENT (xfs_repair_ialloc_extent_fn); -DEFINE_REPAIR_RMAP_EVENT (xfs_repair_rmap_extent_fn); -DEFINE_REPAIR_RMAP_EVENT (xfs_repair_bmap_extent_fn); +DEFINE_REPAIR_RMAP_EVENT (xrep_alloc_extent_fn); +DEFINE_REPAIR_RMAP_EVENT (xrep_ialloc_extent_fn); +DEFINE_REPAIR_RMAP_EVENT (xrep_rmap_extent_fn); +DEFINE_REPAIR_RMAP_EVENT (xrep_bmap_extent_fn); -TRACE_EVENT(xfs_repair_refcount_extent_fn, +TRACE_EVENT(xrep_refcount_extent_fn, TP_PROTO(struct xfs_mount *mp, xfs_agnumber_t agno, struct xfs_refcount_irec *irec), TP_ARGS(mp, agno, irec),
@@ -583,7 +583,7 @@ TRACE_EVENT(xfs_repair_refcount_extent_fn, __entry->refcount) ) -TRACE_EVENT(xfs_repair_init_btblock, +TRACE_EVENT(xrep_init_btblock, TP_PROTO(struct xfs_mount *mp, xfs_agnumber_t agno, xfs_agblock_t agbno, xfs_btnum_t btnum), TP_ARGS(mp, agno, agbno, btnum),
@@ -605,7 +605,7 @@ TRACE_EVENT(xfs_repair_init_btblock, __entry->agbno, __entry->btnum) ) -TRACE_EVENT(xfs_repair_findroot_block, +TRACE_EVENT(xrep_findroot_block, TP_PROTO(struct xfs_mount *mp, xfs_agnumber_t agno, xfs_agblock_t agbno, uint32_t magic, uint16_t level), TP_ARGS(mp, agno, agbno, magic, level),
@@ -630,7 +630,7 @@ TRACE_EVENT(xfs_repair_findroot_block, __entry->magic, __entry->level) ) -TRACE_EVENT(xfs_repair_calc_ag_resblks, +TRACE_EVENT(xrep_calc_ag_resblks, TP_PROTO(struct xfs_mount *mp, xfs_agnumber_t agno, xfs_agino_t icount, xfs_agblock_t aglen, xfs_agblock_t freelen, xfs_agblock_t usedlen),
@@ -659,7 +659,7 @@ TRACE_EVENT(xfs_repair_calc_ag_resblks, __entry->freelen, __entry->usedlen) ) -TRACE_EVENT(xfs_repair_calc_ag_resblks_btsize, +TRACE_EVENT(xrep_calc_ag_resblks_btsize, TP_PROTO(struct xfs_mount *mp, xfs_agnumber_t agno, xfs_agblock_t bnobt_sz, xfs_agblock_t inobt_sz, xfs_agblock_t rmapbt_sz, xfs_agblock_t refcbt_sz),
@@ -688,7 +688,7 @@ TRACE_EVENT(xfs_repair_calc_ag_resblks_btsize, __entry->rmapbt_sz, __entry->refcbt_sz) ) -TRACE_EVENT(xfs_repair_reset_counters, +TRACE_EVENT(xrep_reset_counters, TP_PROTO(struct xfs_mount *mp), TP_ARGS(mp), TP_STRUCT__entry(
@@ -701,7 +701,7 @@ TRACE_EVENT(xfs_repair_reset_counters, MAJOR(__entry->dev), MINOR(__entry->dev)) ) -TRACE_EVENT(xfs_repair_ialloc_insert, +TRACE_EVENT(xrep_ialloc_insert, TP_PROTO(struct xfs_mount *mp, xfs_agnumber_t agno, xfs_agino_t startino, uint16_t holemask, uint8_t count, uint8_t freecount, uint64_t freemask),
Re: [PATCH 6/8] xfs: shorten xfs_repair_ prefix to xrep_
Quoted 8 lines · Darrick J. Wong
From: Darrick J. Wong <[email protected]>
Shorten all the metadata repair xfs_repair_* symbols to
xrep_. Whitespace damage will be fixed by a subsequent patch. There are no functional changes.Signed-off-by Darrick J. Wong <[email protected]>---
Quoted 1,035 lines
fs/xfs/scrub/agheader_repair.c | 2 fs/xfs/scrub/common.c | 2 fs/xfs/scrub/repair.c | 164 ++++++++++++++++++++-------------------- fs/xfs/scrub/repair.h | 74 +++++++++--------- fs/xfs/scrub/scrub.c | 54 +++++++------ fs/xfs/scrub/trace.h | 40 +++++----- 6 files changed, 168 insertions(+), 168 deletions(-)fs/xfs/scrub/agheader_repair.c +1
-1@@ -28,7 +28,7 @@/* Repair the superblock. */ int -xfs_repair_superblock ( +xrep_superblock (struct xfs_scrub_context *sc) {struct xfs_mount *mp = sc->mp;fs/xfs/scrub/common.c +1
-1@@ -604,7 +604,7 @@ xchk_setup_fs( {uint resblks; - resblks =xfs_repair_calc_ag_resblks (sc); + resblks =xrep_calc_ag_resblks (sc);return xchk_trans_alloc (sc, resblks); }fs/xfs/scrub/repair.c +82
-82@@ -41,21 +41,21 @@* and will set *fixed to true if it thinks it repaired anything. */ int -xfs_repair_attempt ( +xrep_attempt (struct xfs_inode *ip,struct xfs_scrub_context *sc,bool *fixed) {int error =0 ; -trace_xfs_repair_attempt (ip, sc->sm, error); +trace_xrep_attempt (ip, sc->sm, error);xchk_ag_btcur_free (&sc->sa);/* Repair whatever's broken. */ ASSERT (sc->ops->repair); error = sc->ops->repair (sc); -trace_xfs_repair_done (ip, sc->sm, error); +trace_xrep_done (ip, sc->sm, error);switch (error) {case 0 :/* @@ -93,7 +93,7 @@ xfs_repair_attempt(* structure to track rate limiting information. */ void -xfs_repair_failure ( +xrep_failure (struct xfs_mount *mp) { xfs_alert_ratelimited(mp,@@ -105,7 +105,7 @@ xfs_repair_failure(* given mountpoint. */ int -xfs_repair_probe ( +xrep_probe (struct xfs_scrub_context *sc) {int error =0 ;@@ -121,7 +121,7 @@ xfs_repair_probe(* the btree cursors. */ int -xfs_repair_roll_ag_trans ( +xrep_roll_ag_trans (struct xfs_scrub_context *sc) {int error;@@ -162,7 +162,7 @@ xfs_repair_roll_ag_trans(* in AG reservations) to construct a whole btree. */ bool -xfs_repair_ag_has_space ( +xrep_ag_has_space (struct xfs_perag *pag,xfs_extlen_t nr_blocks,enum xfs_ag_resv_type type)@@ -178,7 +178,7 @@ xfs_repair_ag_has_space(* any type of per-AG btree. */ xfs_extlen_t -xfs_repair_calc_ag_resblks ( +xrep_calc_ag_resblks (struct xfs_scrub_context *sc) {struct xfs_mount *mp = sc->mp;@@ -231,7 +231,7 @@ xfs_repair_calc_ag_resblks( }xfs_perag_put (pag); -trace_xfs_repair_calc_ag_resblks (mp, sm->sm_agno, icount, aglen, +trace_xrep_calc_ag_resblks (mp, sm->sm_agno, icount, aglen, freelen, usedlen);/* @@ -270,7 +270,7 @@ xfs_repair_calc_ag_resblks( rmapbt_sz =0 ; } -trace_xfs_repair_calc_ag_resblks_btsize (mp, sm->sm_agno, bnobt_sz, +trace_xrep_calc_ag_resblks_btsize (mp, sm->sm_agno, bnobt_sz, inobt_sz, rmapbt_sz, refcbt_sz);return max (max (bnobt_sz, inobt_sz),max (rmapbt_sz, refcbt_sz));@@ -278,7 +278,7 @@ xfs_repair_calc_ag_resblks(/* Allocate a block in an AG. */ int -xfs_repair_alloc_ag_block( +xrep_alloc_ag_block( struct xfs_scrub_context *sc, struct xfs_owner_info *oinfo, xfs_fsblock_t *fsbno,@@ -329,7 +329,7 @@ xfs_repair_alloc_ag_block(/* Initialize a new AG btree root block with zero entries. */ int -xfs_repair_init_btblock( +xrep_init_btblock( struct xfs_scrub_context *sc, xfs_fsblock_t fsb, struct xfs_buf **bpp,@@ -340,7 +340,7 @@ xfs_repair_init_btblock(struct xfs_mount *mp = sc->mp;struct xfs_buf *bp; -trace_xfs_repair_init_btblock (mp,XFS_FSB_TO_AGNO (mp, fsb), +trace_xrep_init_btblock (mp,XFS_FSB_TO_AGNO (mp, fsb),XFS_FSB_TO_AGBNO (mp, fsb), btnum);ASSERT (XFS_FSB_TO_AGNO (mp, fsb) == sc->sa.agno);@@ -384,19 +384,19 @@ xfs_repair_init_btblock(/* Collect a dead btree extent for later disposal. */ int -xfs_repair_collect_btree_extent ( +xrep_collect_btree_extent (struct xfs_scrub_context *sc, -struct xfs_repair_extent_list *exlist, +struct xrep_extent_list *exlist,xfs_fsblock_t fsbno,xfs_extlen_t len) { -struct xfs_repair_extent *rex; +struct xrep_extent *rex; -trace_xfs_repair_collect_btree_extent (sc->mp, +trace_xrep_collect_btree_extent (sc->mp,XFS_FSB_TO_AGNO (sc->mp, fsbno),XFS_FSB_TO_AGBNO (sc->mp, fsbno), len); - rex =kmem_alloc (sizeof (struct xfs_repair_extent ),KM_MAYFAIL ); + rex =kmem_alloc (sizeof (struct xrep_extent ),KM_MAYFAIL );if (!rex)return -ENOMEM ;@@ -414,14 +414,14 @@ xfs_repair_collect_btree_extent(* Therefore, free all the memory associated with the list so we can die. */ void -xfs_repair_cancel_btree_extents ( +xrep_cancel_btree_extents (struct xfs_scrub_context *sc, -struct xfs_repair_extent_list *exlist) +struct xrep_extent_list *exlist) { -struct xfs_repair_extent *rex; -struct xfs_repair_extent *n; +struct xrep_extent *rex; +struct xrep_extent *n; -for_each_xfs_repair_extent_safe (rex, n, exlist) { +for_each_xrep_extent_safe (rex, n, exlist) {list_del (&rex->list);kmem_free (rex); }@@ -429,16 +429,16 @@ xfs_repair_cancel_btree_extents(/* Compare two btree extents. */ static int -xfs_repair_btree_extent_cmp ( +xrep_btree_extent_cmp (void *priv,struct list_head *a,struct list_head *b) { -struct xfs_repair_extent *ap; -struct xfs_repair_extent *bp; +struct xrep_extent *ap; +struct xrep_extent *bp; - ap = container_of(a, struct xfs_repair_extent, list); - bp = container_of(b, struct xfs_repair_extent, list); + ap = container_of(a, struct xrep_extent, list); + bp = container_of(b, struct xrep_extent, list);if (ap->fsbno > bp->fsbno)return 1 ;@@ -462,15 +462,15 @@ xfs_repair_btree_extent_cmp(#define LEFT_ALIGNED (1 << 0)#define RIGHT_ALIGNED (1 << 1)int -xfs_repair_subtract_extents ( +xrep_subtract_extents (struct xfs_scrub_context *sc, -struct xfs_repair_extent_list *exlist, -struct xfs_repair_extent_list *sublist) +struct xrep_extent_list *exlist, +struct xrep_extent_list *sublist) {struct list_head *lp; -struct xfs_repair_extent *ex; -struct xfs_repair_extent *newex; -struct xfs_repair_extent *subex; +struct xrep_extent *ex; +struct xrep_extent *newex; +struct xrep_extent *subex;xfs_fsblock_t sub_fsb;xfs_extlen_t sub_len;int state;@@ -480,8 +480,8 @@ xfs_repair_subtract_extents(return 0 ;ASSERT (!list_empty (&sublist->list)); -list_sort (NULL , &exlist->list, xfs_repair_btree_extent_cmp); -list_sort (NULL , &sublist->list, xfs_repair_btree_extent_cmp); +list_sort (NULL , &exlist->list, xrep_btree_extent_cmp); +list_sort (NULL , &sublist->list, xrep_btree_extent_cmp);/* * Now that we've sorted both lists, we iterate exlist once, rolling @@ -491,11 +491,11 @@ xfs_repair_subtract_extents(* list traversal is similar to merge sort, but we're deleting * instead. In this manner we avoid O(n^2) operations. */ - subex = list_first_entry(&sublist->list, struct xfs_repair_extent, + subex = list_first_entry(&sublist->list, struct xrep_extent, list); lp = exlist->list.next;while (lp != &exlist->list) { - ex = list_entry(lp, struct xfs_repair_extent, list); + ex = list_entry(lp, struct xrep_extent, list);/* * Advance subex and/or ex until we find a pair that @@ -548,7 +548,7 @@ xfs_repair_subtract_extents(* Deleting from the middle: add the new right extent * and then shrink the left extent. */ - newex =kmem_alloc (sizeof (struct xfs_repair_extent ), + newex =kmem_alloc (sizeof (struct xrep_extent ),KM_MAYFAIL );if (!newex) { error = -ENOMEM ;@@ -619,12 +619,12 @@ xfs_repair_subtract_extents(* is not intended for use with file data repairs; we have bunmapi for that. */ int -xfs_repair_invalidate_blocks ( +xrep_invalidate_blocks (struct xfs_scrub_context *sc, -struct xfs_repair_extent_list *exlist) +struct xrep_extent_list *exlist) { -struct xfs_repair_extent *rex; -struct xfs_repair_extent *n; +struct xrep_extent *rex; +struct xrep_extent *n;struct xfs_buf *bp;xfs_fsblock_t fsbno;xfs_agblock_t i;@@ -637,7 +637,7 @@ xfs_repair_invalidate_blocks(* because we never own those; and if we can't TRYLOCK the buffer we * assume it's owned by someone else. */ -for_each_xfs_repair_extent_safe (rex, n, exlist) { +for_each_xrep_extent_safe (rex, n, exlist) {for (fsbno = rex->fsbno, i = rex->len; i >0 ; fsbno++, i--) {/* Skip AG headers and post-EOFS blocks */ if (!xfs_verify_fsbno (sc->mp, fsbno))@@ -657,7 +657,7 @@ xfs_repair_invalidate_blocks(/* Ensure the freelist is the correct size. */ int -xfs_repair_fix_freelist ( +xrep_fix_freelist (struct xfs_scrub_context *sc,bool can_shrink) {@@ -677,7 +677,7 @@ xfs_repair_fix_freelist(* Put a block back on the AGFL. */ STATIC int -xfs_repair_put_freelist ( +xrep_put_freelist (struct xfs_scrub_context *sc,xfs_agblock_t agbno) {@@ -685,7 +685,7 @@ xfs_repair_put_freelist(int error;/* Make sure there's space on the freelist. */ - error =xfs_repair_fix_freelist (sc, true); + error =xrep_fix_freelist (sc, true);if (error)return error;@@ -713,7 +713,7 @@ xfs_repair_put_freelist(/* Dispose of a single metadata block. */ STATIC int -xfs_repair_dispose_btree_block( +xrep_dispose_btree_block( struct xfs_scrub_context *sc, xfs_fsblock_t fsbno, struct xfs_owner_info *oinfo,@@ -767,7 +767,7 @@ xfs_repair_dispose_btree_block(if (has_other_rmap) error =xfs_rmap_free (sc->tp, agf_bp, agno, agbno,1 , oinfo);else if (resv ==XFS_AG_RESV_AGFL ) - error =xfs_repair_put_freelist (sc, agbno); + error =xrep_put_freelist (sc, agbno);else error =xfs_free_extent (sc->tp, fsbno,1 , oinfo, resv);if (agf_bp != sc->sa.agf_bp)@@ -777,7 +777,7 @@ xfs_repair_dispose_btree_block(if (sc->ip)return xfs_trans_roll_inode (&sc->tp, sc->ip); -return xfs_repair_roll_ag_trans (sc); +return xrep_roll_ag_trans (sc); out_free:if (agf_bp != sc->sa.agf_bp)@@ -787,29 +787,29 @@ xfs_repair_dispose_btree_block(/* Dispose of btree blocks from an old per-AG btree. */ int -xfs_repair_reap_btree_extents ( +xrep_reap_btree_extents (struct xfs_scrub_context *sc, -struct xfs_repair_extent_list *exlist, +struct xrep_extent_list *exlist,struct xfs_owner_info *oinfo,enum xfs_ag_resv_type type) { -struct xfs_repair_extent *rex; -struct xfs_repair_extent *n; +struct xrep_extent *rex; +struct xrep_extent *n;int error =0 ;ASSERT (xfs_sb_version_hasrmapbt (&sc->mp->m_sb));/* Dispose of every block from the old btree. */ -for_each_xfs_repair_extent_safe (rex, n, exlist) { +for_each_xrep_extent_safe (rex, n, exlist) {ASSERT (sc->ip !=NULL ||XFS_FSB_TO_AGNO (sc->mp, rex->fsbno) == sc->sa.agno); -trace_xfs_repair_dispose_btree_extent (sc->mp, +trace_xrep_dispose_btree_extent (sc->mp,XFS_FSB_TO_AGNO (sc->mp, rex->fsbno),XFS_FSB_TO_AGBNO (sc->mp, rex->fsbno), rex->len);for (; rex->len >0 ; rex->len--, rex->fsbno++) { - error =xfs_repair_dispose_btree_block (sc, rex->fsbno, + error =xrep_dispose_btree_block (sc, rex->fsbno, oinfo, type);if (error) goto out;@@ -819,7 +819,7 @@ xfs_repair_reap_btree_extents( } out: -xfs_repair_cancel_btree_extents (sc, exlist); +xrep_cancel_btree_extents (sc, exlist);return error; }@@ -831,12 +831,12 @@ xfs_repair_reap_btree_extents(* btree roots. This is not guaranteed to work if the AG is heavily damaged * or the rmap data are corrupt. * -* Callers of xfs_repair_find_ag_btree_roots must lock the AGF and AGFL +* Callers of xrep_find_ag_btree_roots must lock the AGF and AGFL * buffers if the AGF is being rebuilt; or the AGF and AGI buffers if the * AGI is being rebuilt. It must maintain these locks until it's safe for * other threads to change the btrees' shapes. The caller provides * information about the btrees to look for by passing in an array of -* xfs_repair_find_ag_btree with the (rmap owner, buf_ops, magic) fields set. +* xrep_find_ag_btree with the (rmap owner, buf_ops, magic) fields set. * The (root, height) fields will be set on return if anything is found. The * last element of the array should have a NULL buf_ops to mark the end of the * array. @@ -850,16 +850,16 @@ xfs_repair_reap_btree_extents(* should be the roots. */ -struct xfs_repair_findroot { +struct xrep_findroot {struct xfs_scrub_context *sc;struct xfs_buf *agfl_bp;struct xfs_agf *agf; -struct xfs_repair_find_ag_btree *btree_info; +struct xrep_find_ag_btree *btree_info; };/* See if our block is in the AGFL. */ STATIC int -xfs_repair_findroot_agfl_walk ( +xrep_findroot_agfl_walk (struct xfs_mount *mp,xfs_agblock_t bno,void *priv)@@ -871,9 +871,9 @@ xfs_repair_findroot_agfl_walk(/* Does this block match the btree information passed in? */ STATIC int -xfs_repair_findroot_block ( -struct xfs_repair_findroot *ri, -struct xfs_repair_find_ag_btree *fab, +xrep_findroot_block ( +struct xrep_findroot *ri, +struct xrep_find_ag_btree *fab,uint64_t owner,xfs_agblock_t agbno,bool *found_it)@@ -894,7 +894,7 @@ xfs_repair_findroot_block(*/ if (owner ==XFS_RMAP_OWN_AG ) { error =xfs_agfl_walk (mp, ri->agf, ri->agfl_bp, - xfs_repair_findroot_agfl_walk, &agbno); + xrep_findroot_agfl_walk, &agbno);if (error ==XFS_BTREE_QUERY_RANGE_ABORT )return 0 ;if (error)@@ -932,7 +932,7 @@ xfs_repair_findroot_block( fab->height =xfs_btree_get_level (btblock) +1 ; *found_it = true; -trace_xfs_repair_findroot_block (mp, ri->sc->sa.agno, agbno, +trace_xrep_findroot_block (mp, ri->sc->sa.agno, agbno,be32_to_cpu (btblock->bb_magic), fab->height -1 ); out:xfs_trans_brelse (ri->sc->tp, bp);@@ -944,13 +944,13 @@ xfs_repair_findroot_block(* looking for? */ STATIC int -xfs_repair_findroot_rmap ( +xrep_findroot_rmap (struct xfs_btree_cur *cur,struct xfs_rmap_irec *rec,void *priv) { -struct xfs_repair_findroot *ri = priv; -struct xfs_repair_find_ag_btree *fab; +struct xrep_findroot *ri = priv; +struct xrep_find_ag_btree *fab;xfs_agblock_t b;bool found_it;int error =0 ;@@ -965,7 +965,7 @@ xfs_repair_findroot_rmap(for (fab = ri->btree_info; fab->buf_ops; fab++) {if (rec->rm_owner != fab->rmap_owner)continue ; - error =xfs_repair_findroot_block (ri, fab, + error =xrep_findroot_block (ri, fab, rec->rm_owner, rec->rm_startblock + b, &found_it);if (error)@@ -980,15 +980,15 @@ xfs_repair_findroot_rmap(/* Find the roots of the per-AG btrees described in btree_info. */ int -xfs_repair_find_ag_btree_roots ( +xrep_find_ag_btree_roots (struct xfs_scrub_context *sc,struct xfs_buf *agf_bp, -struct xfs_repair_find_ag_btree *btree_info, +struct xrep_find_ag_btree *btree_info,struct xfs_buf *agfl_bp) {struct xfs_mount *mp = sc->mp; -struct xfs_repair_findroot ri; -struct xfs_repair_find_ag_btree *fab; +struct xrep_findroot ri; +struct xrep_find_ag_btree *fab;struct xfs_btree_cur *cur;int error;@@ -1007,7 +1007,7 @@ xfs_repair_find_ag_btree_roots( } cur =xfs_rmapbt_init_cursor (mp, sc->tp, agf_bp, sc->sa.agno); - error =xfs_rmap_query_all (cur, xfs_repair_findroot_rmap, &ri); + error =xfs_rmap_query_all (cur, xrep_findroot_rmap, &ri);xfs_btree_del_cursor (cur, error);return error;@@ -1015,7 +1015,7 @@ xfs_repair_find_ag_btree_roots(/* Force a quotacheck the next time we mount. */ void -xfs_repair_force_quotacheck ( +xrep_force_quotacheck (struct xfs_scrub_context *sc,uint dqtype) {@@ -1043,7 +1043,7 @@ xfs_repair_force_quotacheck(* repair corruptions in the quota metadata. */ int -xfs_repair_ino_dqattach ( +xrep_ino_dqattach (struct xfs_scrub_context *sc) {int error;@@ -1057,11 +1057,11 @@ xfs_repair_ino_dqattach("inode %llu repair encountered quota error %d, quotacheck forced." , (unsigned long long)sc->ip->i_ino, error);if (XFS_IS_UQUOTA_ON (sc->mp) && !sc->ip->i_udquot) -xfs_repair_force_quotacheck (sc,XFS_DQ_USER ); +xrep_force_quotacheck (sc,XFS_DQ_USER );if (XFS_IS_GQUOTA_ON (sc->mp) && !sc->ip->i_gdquot) -xfs_repair_force_quotacheck (sc,XFS_DQ_GROUP ); +xrep_force_quotacheck (sc,XFS_DQ_GROUP );if (XFS_IS_PQUOTA_ON (sc->mp) && !sc->ip->i_pdquot) -xfs_repair_force_quotacheck (sc,XFS_DQ_PROJ ); +xrep_force_quotacheck (sc,XFS_DQ_PROJ );/* fall through */ case -ESRCH : error =0 ;fs/xfs/scrub/repair.h +37
-37@@ -6,7 +6,7 @@#ifndef __XFS_SCRUB_REPAIR_H__#define __XFS_SCRUB_REPAIR_H__ -static inline int xfs_repair_notsupported (struct xfs_scrub_context *sc) +static inline int xrep_notsupported (struct xfs_scrub_context *sc) {return -EOPNOTSUPP ; }@@ -15,55 +15,55 @@ static inline int xfs_repair_notsupported(struct xfs_scrub_context *sc)/* Repair helpers */ -int xfs_repair_attempt (struct xfs_inode *ip,struct xfs_scrub_context *sc, +int xrep_attempt (struct xfs_inode *ip,struct xfs_scrub_context *sc,bool *fixed); -void xfs_repair_failure (struct xfs_mount *mp); -int xfs_repair_roll_ag_trans (struct xfs_scrub_context *sc); -bool xfs_repair_ag_has_space (struct xfs_perag *pag,xfs_extlen_t nr_blocks, +void xrep_failure (struct xfs_mount *mp); +int xrep_roll_ag_trans (struct xfs_scrub_context *sc); +bool xrep_ag_has_space (struct xfs_perag *pag,xfs_extlen_t nr_blocks,enum xfs_ag_resv_type type); -xfs_extlen_t xfs_repair_calc_ag_resblks (struct xfs_scrub_context *sc); -int xfs_repair_alloc_ag_block (struct xfs_scrub_context *sc, +xfs_extlen_t xrep_calc_ag_resblks (struct xfs_scrub_context *sc); +int xrep_alloc_ag_block (struct xfs_scrub_context *sc,struct xfs_owner_info *oinfo,xfs_fsblock_t *fsbno,enum xfs_ag_resv_type resv); -int xfs_repair_init_btblock (struct xfs_scrub_context *sc,xfs_fsblock_t fsb, +int xrep_init_btblock (struct xfs_scrub_context *sc,xfs_fsblock_t fsb,struct xfs_buf **bpp,xfs_btnum_t btnum,const struct xfs_buf_ops *ops); -struct xfs_repair_extent { +struct xrep_extent {struct list_head list;xfs_fsblock_t fsbno;xfs_extlen_t len; }; -struct xfs_repair_extent_list { +struct xrep_extent_list {struct list_head list; };static inline void -xfs_repair_init_extent_list ( -struct xfs_repair_extent_list *exlist) +xrep_init_extent_list ( +struct xrep_extent_list *exlist) {INIT_LIST_HEAD (&exlist->list); } -#define for_each_xfs_repair_extent_safe (rbe, n, exlist) \ +#define for_each_xrep_extent_safe (rbe, n, exlist) \ list_for_each_entry_safe((rbe), (n), &(exlist)->list, list) -int xfs_repair_collect_btree_extent (struct xfs_scrub_context *sc, -struct xfs_repair_extent_list *btlist,xfs_fsblock_t fsbno, +int xrep_collect_btree_extent (struct xfs_scrub_context *sc, +struct xrep_extent_list *btlist,xfs_fsblock_t fsbno,xfs_extlen_t len); -void xfs_repair_cancel_btree_extents (struct xfs_scrub_context *sc, -struct xfs_repair_extent_list *btlist); -int xfs_repair_subtract_extents (struct xfs_scrub_context *sc, -struct xfs_repair_extent_list *exlist, -struct xfs_repair_extent_list *sublist); -int xfs_repair_fix_freelist (struct xfs_scrub_context *sc,bool can_shrink); -int xfs_repair_invalidate_blocks (struct xfs_scrub_context *sc, -struct xfs_repair_extent_list *btlist); -int xfs_repair_reap_btree_extents (struct xfs_scrub_context *sc, -struct xfs_repair_extent_list *exlist, +void xrep_cancel_btree_extents (struct xfs_scrub_context *sc, +struct xrep_extent_list *btlist); +int xrep_subtract_extents (struct xfs_scrub_context *sc, +struct xrep_extent_list *exlist, +struct xrep_extent_list *sublist); +int xrep_fix_freelist (struct xfs_scrub_context *sc,bool can_shrink); +int xrep_invalidate_blocks (struct xfs_scrub_context *sc, +struct xrep_extent_list *btlist); +int xrep_reap_btree_extents (struct xfs_scrub_context *sc, +struct xrep_extent_list *exlist,struct xfs_owner_info *oinfo,enum xfs_ag_resv_type type); -struct xfs_repair_find_ag_btree { +struct xrep_find_ag_btree {/* in: rmap owner of the btree we're looking for */ uint64_t rmap_owner;@@ -78,21 +78,21 @@ struct xfs_repair_find_ag_btree { unsigned int height; }; -int xfs_repair_find_ag_btree_roots (struct xfs_scrub_context *sc, +int xrep_find_ag_btree_roots (struct xfs_scrub_context *sc,struct xfs_buf *agf_bp, -struct xfs_repair_find_ag_btree *btree_info, +struct xrep_find_ag_btree *btree_info,struct xfs_buf *agfl_bp); -void xfs_repair_force_quotacheck (struct xfs_scrub_context *sc,uint dqtype); -int xfs_repair_ino_dqattach (struct xfs_scrub_context *sc); +void xrep_force_quotacheck (struct xfs_scrub_context *sc,uint dqtype); +int xrep_ino_dqattach (struct xfs_scrub_context *sc);/* Metadata repairers */ -int xfs_repair_probe (struct xfs_scrub_context *sc); -int xfs_repair_superblock (struct xfs_scrub_context *sc); +int xrep_probe (struct xfs_scrub_context *sc); +int xrep_superblock (struct xfs_scrub_context *sc);#else -static inline int xfs_repair_attempt ( +static inline int xrep_attempt (struct xfs_inode *ip,struct xfs_scrub_context *sc,bool *fixed)@@ -100,18 +100,18 @@ static inline int xfs_repair_attempt( return -EOPNOTSUPP; } -static inline void xfs_repair_failure (struct xfs_mount *mp) {} +static inline void xrep_failure (struct xfs_mount *mp) {}static inline xfs_extlen_t -xfs_repair_calc_ag_resblks ( +xrep_calc_ag_resblks (struct xfs_scrub_context *sc) {ASSERT (!(sc->sm->sm_flags &XFS_SCRUB_IFLAG_REPAIR ));return 0 ; } -#define xfs_repair_probe xfs_repair_notsupported -#define xfs_repair_superblock xfs_repair_notsupported +#define xrep_probe xrep_notsupported +#define xrep_superblock xrep_notsupported#endif /* CONFIG_XFS_ONLINE_REPAIR */ fs/xfs/scrub/scrub.c +27
-27@@ -202,150 +202,150 @@ static const struct xchk_meta_ops meta_scrub_ops[] = { .type = ST_NONE, .setup = xchk_setup_fs, .scrub = xchk_probe, - .repair = xfs_repair_probe, + .repair = xrep_probe, }, [XFS_SCRUB_TYPE_SB] = { /* superblock */ .type = ST_PERAG, .setup = xchk_setup_fs, .scrub = xchk_superblock, - .repair = xfs_repair_superblock, + .repair = xrep_superblock, }, [XFS_SCRUB_TYPE_AGF] = { /* agf */ .type = ST_PERAG, .setup = xchk_setup_fs, .scrub = xchk_agf, - .repair = xfs_repair_notsupported, + .repair = xrep_notsupported, }, [XFS_SCRUB_TYPE_AGFL]= { /* agfl */ .type = ST_PERAG, .setup = xchk_setup_fs, .scrub = xchk_agfl, - .repair = xfs_repair_notsupported, + .repair = xrep_notsupported, }, [XFS_SCRUB_TYPE_AGI] = { /* agi */ .type = ST_PERAG, .setup = xchk_setup_fs, .scrub = xchk_agi, - .repair = xfs_repair_notsupported, + .repair = xrep_notsupported, }, [XFS_SCRUB_TYPE_BNOBT] = { /* bnobt */ .type = ST_PERAG, .setup = xchk_setup_ag_allocbt, .scrub = xchk_bnobt, - .repair = xfs_repair_notsupported, + .repair = xrep_notsupported, }, [XFS_SCRUB_TYPE_CNTBT] = { /* cntbt */ .type = ST_PERAG, .setup = xchk_setup_ag_allocbt, .scrub = xchk_cntbt, - .repair = xfs_repair_notsupported, + .repair = xrep_notsupported, }, [XFS_SCRUB_TYPE_INOBT] = { /* inobt */ .type = ST_PERAG, .setup = xchk_setup_ag_iallocbt, .scrub = xchk_inobt, - .repair = xfs_repair_notsupported, + .repair = xrep_notsupported, }, [XFS_SCRUB_TYPE_FINOBT] = { /* finobt */ .type = ST_PERAG, .setup = xchk_setup_ag_iallocbt, .scrub = xchk_finobt, .has = xfs_sb_version_hasfinobt, - .repair = xfs_repair_notsupported, + .repair = xrep_notsupported, }, [XFS_SCRUB_TYPE_RMAPBT] = { /* rmapbt */ .type = ST_PERAG, .setup = xchk_setup_ag_rmapbt, .scrub = xchk_rmapbt, .has = xfs_sb_version_hasrmapbt, - .repair = xfs_repair_notsupported, + .repair = xrep_notsupported, }, [XFS_SCRUB_TYPE_REFCNTBT] = { /* refcountbt */ .type = ST_PERAG, .setup = xchk_setup_ag_refcountbt, .scrub = xchk_refcountbt, .has = xfs_sb_version_hasreflink, - .repair = xfs_repair_notsupported, + .repair = xrep_notsupported, }, [XFS_SCRUB_TYPE_INODE] = { /* inode record */ .type = ST_INODE, .setup = xchk_setup_inode, .scrub = xchk_inode, - .repair = xfs_repair_notsupported, + .repair = xrep_notsupported, }, [XFS_SCRUB_TYPE_BMBTD] = { /* inode data fork */ .type = ST_INODE, .setup = xchk_setup_inode_bmap, .scrub = xchk_bmap_data, - .repair = xfs_repair_notsupported, + .repair = xrep_notsupported, }, [XFS_SCRUB_TYPE_BMBTA] = { /* inode attr fork */ .type = ST_INODE, .setup = xchk_setup_inode_bmap, .scrub = xchk_bmap_attr, - .repair = xfs_repair_notsupported, + .repair = xrep_notsupported, }, [XFS_SCRUB_TYPE_BMBTC] = { /* inode CoW fork */ .type = ST_INODE, .setup = xchk_setup_inode_bmap, .scrub = xchk_bmap_cow, - .repair = xfs_repair_notsupported, + .repair = xrep_notsupported, }, [XFS_SCRUB_TYPE_DIR] = { /* directory */ .type = ST_INODE, .setup = xchk_setup_directory, .scrub = xchk_directory, - .repair = xfs_repair_notsupported, + .repair = xrep_notsupported, }, [XFS_SCRUB_TYPE_XATTR] = { /* extended attributes */ .type = ST_INODE, .setup = xchk_setup_xattr, .scrub = xchk_xattr, - .repair = xfs_repair_notsupported, + .repair = xrep_notsupported, }, [XFS_SCRUB_TYPE_SYMLINK] = { /* symbolic link */ .type = ST_INODE, .setup = xchk_setup_symlink, .scrub = xchk_symlink, - .repair = xfs_repair_notsupported, + .repair = xrep_notsupported, }, [XFS_SCRUB_TYPE_PARENT] = { /* parent pointers */ .type = ST_INODE, .setup = xchk_setup_parent, .scrub = xchk_parent, - .repair = xfs_repair_notsupported, + .repair = xrep_notsupported, }, [XFS_SCRUB_TYPE_RTBITMAP] = { /* realtime bitmap */ .type = ST_FS, .setup = xchk_setup_rt, .scrub = xchk_rtbitmap, .has = xfs_sb_version_hasrealtime, - .repair = xfs_repair_notsupported, + .repair = xrep_notsupported, }, [XFS_SCRUB_TYPE_RTSUM] = { /* realtime summary */ .type = ST_FS, .setup = xchk_setup_rt, .scrub = xchk_rtsummary, .has = xfs_sb_version_hasrealtime, - .repair = xfs_repair_notsupported, + .repair = xrep_notsupported, }, [XFS_SCRUB_TYPE_UQUOTA] = { /* user quota */ .type = ST_FS, .setup = xchk_setup_quota, .scrub = xchk_quota, - .repair = xfs_repair_notsupported, + .repair = xrep_notsupported, }, [XFS_SCRUB_TYPE_GQUOTA] = { /* group quota */ .type = ST_FS, .setup = xchk_setup_quota, .scrub = xchk_quota, - .repair = xfs_repair_notsupported, + .repair = xrep_notsupported, }, [XFS_SCRUB_TYPE_PQUOTA] = { /* project quota */ .type = ST_FS, .setup = xchk_setup_quota, .scrub = xchk_quota, - .repair = xfs_repair_notsupported, + .repair = xrep_notsupported, }, };@@ -457,7 +457,7 @@ static inline void xchk_postmortem(struct xfs_scrub_context *sc)if ((sc->sm->sm_flags &XFS_SCRUB_IFLAG_REPAIR ) && (sc->sm->sm_flags & (XFS_SCRUB_OFLAG_CORRUPT |XFS_SCRUB_OFLAG_XCORRUPT ))) - xfs_repair_failure(sc->mp); + xrep_failure(sc->mp); }#else static inline void xchk_postmortem (struct xfs_scrub_context *sc)@@ -555,13 +555,13 @@ xfs_scrub_metadata(* If it's broken, userspace wants us to fix it, and we haven't * already tried to fix it, then attempt a repair. */ - error =xfs_repair_attempt (ip, &sc, &already_fixed); + error =xrep_attempt (ip, &sc, &already_fixed);if (error == -EAGAIN ) {if (sc.try_harder) try_harder = true; error =xchk_teardown (&sc, ip,0 );if (error) { -xfs_repair_failure (mp); +xrep_failure (mp); goto out; } goto retry_op;fs/xfs/scrub/trace.h +20
-21@@ -55,8 +55,8 @@ DEFINE_EVENT(xchk_class, name, \DEFINE_SCRUB_EVENT (xchk_start);DEFINE_SCRUB_EVENT (xchk_done);DEFINE_SCRUB_EVENT (xchk_deadlock_retry); -DEFINE_SCRUB_EVENT (xfs_repair_attempt); -DEFINE_SCRUB_EVENT (xfs_repair_done); +DEFINE_SCRUB_EVENT (xrep_attempt); +DEFINE_SCRUB_EVENT (xrep_done); TRACE_EVENT(xchk_op_error, TP_PROTO(struct xfs_scrub_context *sc, xfs_agnumber_t agno,@@ -483,7 +483,7 @@ TRACE_EVENT(xchk_xref_error,/* repair tracepoints */ #if IS_ENABLED (CONFIG_XFS_ONLINE_REPAIR ) -DECLARE_EVENT_CLASS(xfs_repair_extent_class, +DECLARE_EVENT_CLASS(xrep_extent_class, TP_PROTO(struct xfs_mount *mp, xfs_agnumber_t agno, xfs_agblock_t agbno, xfs_extlen_t len), TP_ARGS(mp, agno, agbno, len),@@ -506,15 +506,15 @@ DECLARE_EVENT_CLASS(xfs_repair_extent_class, __entry->len) );#define DEFINE_REPAIR_EXTENT_EVENT (name) \ -DEFINE_EVENT(xfs_repair_extent_class, name, \ +DEFINE_EVENT(xrep_extent_class, name, \ TP_PROTO(struct xfs_mount *mp, xfs_agnumber_t agno, \ xfs_agblock_t agbno, xfs_extlen_t len), \ TP_ARGS(mp, agno, agbno, len)) -DEFINE_REPAIR_EXTENT_EVENT (xfs_repair_dispose_btree_extent); -DEFINE_REPAIR_EXTENT_EVENT (xfs_repair_collect_btree_extent); -DEFINE_REPAIR_EXTENT_EVENT (xfs_repair_agfl_insert); +DEFINE_REPAIR_EXTENT_EVENT (xrep_dispose_btree_extent); +DEFINE_REPAIR_EXTENT_EVENT (xrep_collect_btree_extent); +DEFINE_REPAIR_EXTENT_EVENT (xrep_agfl_insert); -DECLARE_EVENT_CLASS(xfs_repair_rmap_class, +DECLARE_EVENT_CLASS(xrep_rmap_class, TP_PROTO(struct xfs_mount *mp, xfs_agnumber_t agno, xfs_agblock_t agbno, xfs_extlen_t len, uint64_t owner, uint64_t offset, unsigned int flags),@@ -547,17 +547,17 @@ DECLARE_EVENT_CLASS(xfs_repair_rmap_class, __entry->flags) );#define DEFINE_REPAIR_RMAP_EVENT (name) \ -DEFINE_EVENT(xfs_repair_rmap_class, name, \ +DEFINE_EVENT(xrep_rmap_class, name, \ TP_PROTO(struct xfs_mount *mp, xfs_agnumber_t agno, \ xfs_agblock_t agbno, xfs_extlen_t len, \ uint64_t owner, uint64_t offset, unsigned int flags), \ TP_ARGS(mp, agno, agbno, len, owner, offset, flags)) -DEFINE_REPAIR_RMAP_EVENT (xfs_repair_alloc_extent_fn); -DEFINE_REPAIR_RMAP_EVENT (xfs_repair_ialloc_extent_fn); -DEFINE_REPAIR_RMAP_EVENT (xfs_repair_rmap_extent_fn); -DEFINE_REPAIR_RMAP_EVENT (xfs_repair_bmap_extent_fn); +DEFINE_REPAIR_RMAP_EVENT (xrep_alloc_extent_fn); +DEFINE_REPAIR_RMAP_EVENT (xrep_ialloc_extent_fn); +DEFINE_REPAIR_RMAP_EVENT (xrep_rmap_extent_fn); +DEFINE_REPAIR_RMAP_EVENT (xrep_bmap_extent_fn); -TRACE_EVENT(xfs_repair_refcount_extent_fn, +TRACE_EVENT(xrep_refcount_extent_fn, TP_PROTO(struct xfs_mount *mp, xfs_agnumber_t agno, struct xfs_refcount_irec *irec), TP_ARGS(mp, agno, irec),@@ -583,7 +583,7 @@ TRACE_EVENT(xfs_repair_refcount_extent_fn, __entry->refcount) ) -TRACE_EVENT(xfs_repair_init_btblock, +TRACE_EVENT(xrep_init_btblock, TP_PROTO(struct xfs_mount *mp, xfs_agnumber_t agno, xfs_agblock_t agbno, xfs_btnum_t btnum), TP_ARGS(mp, agno, agbno, btnum),@@ -605,7 +605,7 @@ TRACE_EVENT(xfs_repair_init_btblock, __entry->agbno, __entry->btnum) ) -TRACE_EVENT(xfs_repair_findroot_block, +TRACE_EVENT(xrep_findroot_block, TP_PROTO(struct xfs_mount *mp, xfs_agnumber_t agno, xfs_agblock_t agbno, uint32_t magic, uint16_t level), TP_ARGS(mp, agno, agbno, magic, level),@@ -630,7 +630,7 @@ TRACE_EVENT(xfs_repair_findroot_block, __entry->magic, __entry->level) ) -TRACE_EVENT(xfs_repair_calc_ag_resblks, +TRACE_EVENT(xrep_calc_ag_resblks, TP_PROTO(struct xfs_mount *mp, xfs_agnumber_t agno, xfs_agino_t icount, xfs_agblock_t aglen, xfs_agblock_t freelen, xfs_agblock_t usedlen),@@ -659,7 +659,7 @@ TRACE_EVENT(xfs_repair_calc_ag_resblks, __entry->freelen, __entry->usedlen) ) -TRACE_EVENT(xfs_repair_calc_ag_resblks_btsize, +TRACE_EVENT(xrep_calc_ag_resblks_btsize, TP_PROTO(struct xfs_mount *mp, xfs_agnumber_t agno, xfs_agblock_t bnobt_sz, xfs_agblock_t inobt_sz, xfs_agblock_t rmapbt_sz, xfs_agblock_t refcbt_sz),@@ -688,7 +688,7 @@ TRACE_EVENT(xfs_repair_calc_ag_resblks_btsize, __entry->rmapbt_sz, __entry->refcbt_sz) ) -TRACE_EVENT(xfs_repair_reset_counters, +TRACE_EVENT(xrep_reset_counters, TP_PROTO(struct xfs_mount *mp), TP_ARGS(mp), TP_STRUCT__entry(@@ -701,7 +701,7 @@ TRACE_EVENT(xfs_repair_reset_counters, MAJOR(__entry->dev), MINOR(__entry->dev)) ) -TRACE_EVENT(xfs_repair_ialloc_insert, +TRACE_EVENT(xrep_ialloc_insert, TP_PROTO(struct xfs_mount *mp, xfs_agnumber_t agno, xfs_agino_t startino, uint16_t holemask, uint8_t count, uint8_t freecount, uint64_t freemask), --To unsubscribe from this list: send the line "unsubscribe linux-xfs" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
PATCH 7/8 xfs: shorten struct xfs_scrub_context to struct xfs_scrub
In reply to Darrick J. WongFrom: Darrick J. Wong <[email protected]>
Shorten the name of the online fsck context structure. Whitespace damage will be fixed by a subsequent patch. There are no functional changes.
--- fs/xfs/scrub/agheader.c | 32 +++++++-------- fs/xfs/scrub/agheader_repair.c | 2 - fs/xfs/scrub/alloc.c | 14 +++--- fs/xfs/scrub/attr.c | 10 ++--- fs/xfs/scrub/bmap.c | 22 +++++----- fs/xfs/scrub/btree.c | 14 +++--- fs/xfs/scrub/btree.h | 12 +++-- fs/xfs/scrub/common.c | 62 ++++++++++++++-------------- fs/xfs/scrub/common.h | 88 ++++++++++++++++++++-------------------- fs/xfs/scrub/dabtree.c | 6 +-- fs/xfs/scrub/dabtree.h | 4 +- fs/xfs/scrub/dir.c | 18 ++++---- fs/xfs/scrub/ialloc.c | 22 +++++----- fs/xfs/scrub/inode.c | 22 +++++----- fs/xfs/scrub/parent.c | 8 ++-- fs/xfs/scrub/quota.c | 12 +++-- fs/xfs/scrub/refcount.c | 16 ++++--- fs/xfs/scrub/repair.c | 36 ++++++++-------- fs/xfs/scrub/repair.h | 38 +++++++++-------- fs/xfs/scrub/rmap.c | 16 ++++--- fs/xfs/scrub/rtbitmap.c | 10 ++--- fs/xfs/scrub/scrub.c | 10 ++--- fs/xfs/scrub/scrub.h | 78 ++++++++++++++++++----------------- fs/xfs/scrub/symlink.c | 4 +- fs/xfs/scrub/trace.h | 32 +++++++-------- 25 files changed, 294 insertions(+), 294 deletions(-)
fs/xfs/scrub/agheader.c +16 -16
@@ -29,7 +29,7 @@/* Cross-reference with the other btrees. */ STATIC voidxchk_superblock_xref ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,struct xfs_buf *bp) {struct xfs_owner_info oinfo;
@@ -66,7 +66,7 @@ xchk_superblock_xref(*/ int xchk_superblock ( -struct xfs_scrub_context *sc) +struct xfs_scrub *sc) {struct xfs_mount *mp = sc->mp;struct xfs_buf *bp;
@@ -365,7 +365,7 @@ xchk_agf_record_bno_lengths(/* Check agf_freeblks */ static inline void xchk_agf_xref_freeblks ( -struct xfs_scrub_context *sc) +struct xfs_scrub *sc) {struct xfs_agf *agf =XFS_BUF_TO_AGF (sc->sa.agf_bp);xfs_extlen_t blocks =0 ;
@@ -385,7 +385,7 @@ xchk_agf_xref_freeblks(/* Cross reference the AGF with the cntbt (freespace by length btree) */ static inline void xchk_agf_xref_cntbt ( -struct xfs_scrub_context *sc) +struct xfs_scrub *sc) {struct xfs_agf *agf =XFS_BUF_TO_AGF (sc->sa.agf_bp);xfs_agblock_t agbno;
@@ -417,7 +417,7 @@ xchk_agf_xref_cntbt(/* Check the btree block counts in the AGF against the btrees. */ STATIC voidxchk_agf_xref_btreeblks ( -struct xfs_scrub_context *sc) +struct xfs_scrub *sc) {struct xfs_agf *agf =XFS_BUF_TO_AGF (sc->sa.agf_bp);struct xfs_mount *mp = sc->mp;
@@ -463,7 +463,7 @@ xchk_agf_xref_btreeblks(/* Check agf_refcount_blocks against tree size */ static inline void xchk_agf_xref_refcblks ( -struct xfs_scrub_context *sc) +struct xfs_scrub *sc) {struct xfs_agf *agf =XFS_BUF_TO_AGF (sc->sa.agf_bp);xfs_agblock_t blocks;
@@ -482,7 +482,7 @@ xchk_agf_xref_refcblks(/* Cross-reference with the other btrees. */ STATIC voidxchk_agf_xref ( -struct xfs_scrub_context *sc) +struct xfs_scrub *sc) {struct xfs_owner_info oinfo;struct xfs_mount *mp = sc->mp;
@@ -514,7 +514,7 @@ xchk_agf_xref(/* Scrub the AGF. */ int xchk_agf ( -struct xfs_scrub_context *sc) +struct xfs_scrub *sc) {struct xfs_mount *mp = sc->mp;struct xfs_agf *agf;
@@ -602,13 +602,13 @@ struct xchk_agfl_info {unsigned int sz_entries;unsigned int nr_entries;xfs_agblock_t *entries; -struct xfs_scrub_context *sc; +struct xfs_scrub *sc; };/* Cross-reference with the other btrees. */ STATIC voidxchk_agfl_block_xref ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,xfs_agblock_t agbno,struct xfs_owner_info *oinfo) {
@@ -629,7 +629,7 @@ xchk_agfl_block( void *priv) {struct xchk_agfl_info *sai = priv; -struct xfs_scrub_context *sc = sai->sc; +struct xfs_scrub *sc = sai->sc;xfs_agnumber_t agno = sc->sa.agno; if (xfs_verify_agbno(mp, agno, agbno) &&
@@ -660,7 +660,7 @@ xchk_agblock_cmp(/* Cross-reference with the other btrees. */ STATIC voidxchk_agfl_xref ( -struct xfs_scrub_context *sc) +struct xfs_scrub *sc) {struct xfs_owner_info oinfo;struct xfs_mount *mp = sc->mp;
@@ -691,7 +691,7 @@ xchk_agfl_xref(/* Scrub the AGFL. */ int xchk_agfl ( -struct xfs_scrub_context *sc) +struct xfs_scrub *sc) {struct xchk_agfl_info sai;struct xfs_agf *agf;
@@ -768,7 +768,7 @@ xchk_agfl(/* Check agi_count/agi_freecount */ static inline void xchk_agi_xref_icounts ( -struct xfs_scrub_context *sc) +struct xfs_scrub *sc) {struct xfs_agi *agi =XFS_BUF_TO_AGI (sc->sa.agi_bp);xfs_agino_t icount;
@@ -789,7 +789,7 @@ xchk_agi_xref_icounts(/* Cross-reference with the other btrees. */ STATIC voidxchk_agi_xref ( -struct xfs_scrub_context *sc) +struct xfs_scrub *sc) {struct xfs_owner_info oinfo;struct xfs_mount *mp = sc->mp;
@@ -818,7 +818,7 @@ xchk_agi_xref(/* Scrub the AGI. */ int xchk_agi ( -struct xfs_scrub_context *sc) +struct xfs_scrub *sc) {struct xfs_mount *mp = sc->mp;struct xfs_agi *agi;
fs/xfs/scrub/agheader_repair.c +1 -1
@@ -29,7 +29,7 @@/* Repair the superblock. */ int xrep_superblock ( -struct xfs_scrub_context *sc) +struct xfs_scrub *sc) {struct xfs_mount *mp = sc->mp;struct xfs_buf *bp;
fs/xfs/scrub/alloc.c +7 -7
@@ -29,7 +29,7 @@*/ int xchk_setup_ag_allocbt ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,struct xfs_inode *ip) {return xchk_setup_ag_btree (sc, ip, false);
@@ -42,7 +42,7 @@ xchk_setup_ag_allocbt(*/ STATIC voidxchk_allocbt_xref_other ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,xfs_agblock_t agbno,xfs_extlen_t len) {
@@ -82,7 +82,7 @@ xchk_allocbt_xref_other(/* Cross-reference with the other btrees. */ STATIC voidxchk_allocbt_xref ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,xfs_agblock_t agbno,xfs_extlen_t len) {
@@ -123,7 +123,7 @@ xchk_allocbt_rec(/* Scrub the freespace btrees for some AG. */ STATIC intxchk_allocbt ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,xfs_btnum_t which) {struct xfs_owner_info oinfo;
@@ -136,14 +136,14 @@ xchk_allocbt(int xchk_bnobt ( -struct xfs_scrub_context *sc) +struct xfs_scrub *sc) {return xchk_allocbt (sc,XFS_BTNUM_BNO ); }int xchk_cntbt ( -struct xfs_scrub_context *sc) +struct xfs_scrub *sc) {return xchk_allocbt (sc,XFS_BTNUM_CNT ); }
@@ -151,7 +151,7 @@ xchk_cntbt(/* xref check that the extent is not free */ void xchk_xref_is_used_space ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,xfs_agblock_t agbno,xfs_extlen_t len) {
fs/xfs/scrub/attr.c +5 -5
@@ -33,7 +33,7 @@/* Set us up to scrub an inode's extended attributes. */ int xchk_setup_xattr ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,struct xfs_inode *ip) {size_t sz;
@@ -57,7 +57,7 @@ xchk_setup_xattr(struct xchk_xattr {struct xfs_attr_list_context context; -struct xfs_scrub_context *sc; +struct xfs_scrub *sc; };/*
@@ -127,7 +127,7 @@ xchk_xattr_listent(*/ STATIC boolxchk_xattr_set_map ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,unsigned long *map,unsigned int start,unsigned int len)
@@ -155,7 +155,7 @@ xchk_xattr_set_map(*/ STATIC boolxchk_xattr_check_freemap ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,unsigned long *map,struct xfs_attr3_icleaf_hdr *leafhdr) {
@@ -405,7 +405,7 @@ xchk_xattr_rec(/* Scrub the extended attribute metadata. */ int xchk_xattr ( -struct xfs_scrub_context *sc) +struct xfs_scrub *sc) {struct xchk_xattr sx;struct attrlist_cursor_kern cursor = {0 };
fs/xfs/scrub/bmap.c +11 -11
@@ -34,7 +34,7 @@/* Set us up with an inode's bmap. */ int xchk_setup_inode_bmap ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,struct xfs_inode *ip) {int error;
@@ -79,7 +79,7 @@ xchk_setup_inode_bmap(*/ struct xchk_bmap_info { -struct xfs_scrub_context *sc; +struct xfs_scrub *sc;xfs_fileoff_t lastoff;bool is_rt;bool is_shared;
@@ -391,7 +391,7 @@ xchk_bmapbt_rec(/* Scan the btree records. */ STATIC intxchk_bmap_btree ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,int whichfork,struct xchk_bmap_info *info) {
@@ -409,7 +409,7 @@ xchk_bmap_btree( }struct xchk_bmap_check_rmap_info { -struct xfs_scrub_context *sc; +struct xfs_scrub *sc;int whichfork;struct xfs_iext_cursor icur; };
@@ -424,7 +424,7 @@ xchk_bmap_check_rmap(struct xfs_bmbt_irec irec;struct xchk_bmap_check_rmap_info *sbcri = priv;struct xfs_ifork *ifp; -struct xfs_scrub_context *sc = sbcri->sc; +struct xfs_scrub *sc = sbcri->sc;bool have_map;/* Is this even the right fork? */
@@ -488,7 +488,7 @@ xchk_bmap_check_rmap(/* Make sure each rmap has a corresponding bmbt entry. */ STATIC intxchk_bmap_check_ag_rmaps ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,int whichfork,xfs_agnumber_t agno) {
@@ -522,7 +522,7 @@ xchk_bmap_check_ag_rmaps(/* Make sure each rmap has a corresponding bmbt entry. */ STATIC intxchk_bmap_check_rmaps ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,int whichfork) {loff_t size;
@@ -579,7 +579,7 @@ xchk_bmap_check_rmaps(*/ STATIC intxchk_bmap ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,int whichfork) {struct xfs_bmbt_irec irec;
@@ -694,7 +694,7 @@ xchk_bmap(/* Scrub an inode's data fork. */ int xchk_bmap_data ( -struct xfs_scrub_context *sc) +struct xfs_scrub *sc) {return xchk_bmap (sc,XFS_DATA_FORK ); }
@@ -702,7 +702,7 @@ xchk_bmap_data(/* Scrub an inode's attr fork. */ int xchk_bmap_attr ( -struct xfs_scrub_context *sc) +struct xfs_scrub *sc) {return xchk_bmap (sc,XFS_ATTR_FORK ); }
@@ -710,7 +710,7 @@ xchk_bmap_attr(/* Scrub an inode's CoW fork. */ int xchk_bmap_cow ( -struct xfs_scrub_context *sc) +struct xfs_scrub *sc) {if (!xfs_is_reflink_inode (sc->ip))return -ENOENT ;
fs/xfs/scrub/btree.c +7 -7
@@ -30,7 +30,7 @@*/ static bool __xchk_btree_process_error( - struct xfs_scrub_context *sc, + struct xfs_scrub *sc, struct xfs_btree_cur *cur, int level, int *error,
@@ -65,7 +65,7 @@ __xchk_btree_process_error(bool xchk_btree_process_error ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,struct xfs_btree_cur *cur,int level,int *error)
@@ -76,7 +76,7 @@ xchk_btree_process_error(bool xchk_btree_xref_process_error ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,struct xfs_btree_cur *cur,int level,int *error)
@@ -88,7 +88,7 @@ xchk_btree_xref_process_error(/* Record btree block corruption. */ static void __xchk_btree_set_corrupt( - struct xfs_scrub_context *sc, + struct xfs_scrub *sc, struct xfs_btree_cur *cur, int level, __u32 errflag,
@@ -106,7 +106,7 @@ __xchk_btree_set_corrupt(void xchk_btree_set_corrupt ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,struct xfs_btree_cur *cur,int level) {
@@ -116,7 +116,7 @@ xchk_btree_set_corrupt(void xchk_btree_xref_set_corrupt ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,struct xfs_btree_cur *cur,int level) {
@@ -583,7 +583,7 @@ xchk_btree_block_keys(*/ int xchk_btree( - struct xfs_scrub_context *sc, + struct xfs_scrub *sc, struct xfs_btree_cur *cur, xchk_btree_rec_fn scrub_fn, struct xfs_owner_info *oinfo,
fs/xfs/scrub/btree.h +6 -6
@@ -9,20 +9,20 @@/* btree scrub */ /* Check for btree operation errors. */ -bool xchk_btree_process_error (struct xfs_scrub_context *sc, +bool xchk_btree_process_error (struct xfs_scrub *sc,struct xfs_btree_cur *cur,int level,int *error);/* Check for btree xref operation errors. */ -bool xchk_btree_xref_process_error (struct xfs_scrub_context *sc, +bool xchk_btree_xref_process_error (struct xfs_scrub *sc,struct xfs_btree_cur *cur,int level,int *error);/* Check for btree corruption. */ -void xchk_btree_set_corrupt (struct xfs_scrub_context *sc, +void xchk_btree_set_corrupt (struct xfs_scrub *sc,struct xfs_btree_cur *cur,int level);/* Check for btree xref discrepancies. */ -void xchk_btree_xref_set_corrupt (struct xfs_scrub_context *sc, +void xchk_btree_xref_set_corrupt (struct xfs_scrub *sc,struct xfs_btree_cur *cur,int level);struct xchk_btree ;
@@ -32,7 +32,7 @@ typedef int (*xchk_btree_rec_fn)(struct xchk_btree {/* caller-provided scrub state */ -struct xfs_scrub_context *sc; +struct xfs_scrub *sc;struct xfs_btree_cur *cur;xchk_btree_rec_fn scrub_rec;struct xfs_owner_info *oinfo;
@@ -45,7 +45,7 @@ struct xchk_btree {bool firstkey[XFS_BTREE_MAXLEVELS ];struct list_head to_check; }; -int xchk_btree (struct xfs_scrub_context *sc,struct xfs_btree_cur *cur, +int xchk_btree (struct xfs_scrub *sc,struct xfs_btree_cur *cur,xchk_btree_rec_fn scrub_fn,struct xfs_owner_info *oinfo,void *private);
fs/xfs/scrub/common.c +31 -31
248 lines not on this page · raw message
fs/xfs/scrub/common.h +44 -44
167 lines not on this page · raw message
fs/xfs/scrub/dabtree.c +3 -3
@@ -40,7 +40,7 @@ xchk_da_process_error(int level, int *error) { - struct xfs_scrub_context *sc = ds->sc; + struct xfs_scrub *sc = ds->sc;if (*error ==0 )return true;
@@ -75,7 +75,7 @@ xchk_da_set_corrupt( struct xchk_da_btree *ds, int level) { -struct xfs_scrub_context *sc = ds->sc; +struct xfs_scrub *sc = ds->sc; sc->sm->sm_flags |=XFS_SCRUB_OFLAG_CORRUPT ;
@@ -474,7 +474,7 @@ xchk_da_btree_block(/* Visit all nodes and leaves of a da btree. */ int xchk_da_btree ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,int whichfork,xchk_da_btree_rec_fn scrub_fn,void *private)
fs/xfs/scrub/dabtree.h +2 -2
@@ -13,7 +13,7 @@ struct xchk_da_btree {xfs_dahash_t hashes[XFS_DA_NODE_MAXDEPTH ];int maxrecs[XFS_DA_NODE_MAXDEPTH ];struct xfs_da_state *state; -struct xfs_scrub_context *sc; +struct xfs_scrub *sc;void *private;/*
@@ -39,7 +39,7 @@ void xchk_da_set_corrupt(struct xchk_da_btree *ds, int level);int xchk_da_btree_hash (struct xchk_da_btree *ds,int level,__be32 *hashp); -int xchk_da_btree (struct xfs_scrub_context *sc,int whichfork, +int xchk_da_btree (struct xfs_scrub *sc,int whichfork,xchk_da_btree_rec_fn scrub_fn,void *private);#endif /* __XFS_SCRUB_DABTREE_H__ */
fs/xfs/scrub/dir.c +9 -9
@@ -32,7 +32,7 @@/* Set us up to scrub directories. */ int xchk_setup_directory ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,struct xfs_inode *ip) {return xchk_setup_inode_contents (sc, ip,0 );
@@ -46,7 +46,7 @@ struct xchk_dir_ctx {/* VFS fill-directory iterator */ struct dir_context dir_iter; -struct xfs_scrub_context *sc; +struct xfs_scrub *sc; };/* Check that an inode's mode matches a given DT_ type. */
@@ -289,7 +289,7 @@ xchk_dir_rec(*/ STATIC voidxchk_directory_check_free_entry ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,xfs_dablk_t lblk,struct xfs_dir2_data_free *bf,struct xfs_dir2_data_unused *dup)
@@ -314,7 +314,7 @@ xchk_directory_check_free_entry(/* Check free space info in a directory data block. */ STATIC intxchk_directory_data_bestfree ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,xfs_dablk_t lblk,bool is_block) {
@@ -455,7 +455,7 @@ xchk_directory_data_bestfree(*/ STATIC voidxchk_directory_check_freesp ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,xfs_dablk_t lblk,struct xfs_buf *dbp,unsigned int len)
@@ -474,7 +474,7 @@ xchk_directory_check_freesp(/* Check free space info in a directory leaf1 block. */ STATIC intxchk_directory_leaf1_bestfree ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,struct xfs_da_args *args,xfs_dablk_t lblk) {
@@ -572,7 +572,7 @@ xchk_directory_leaf1_bestfree(/* Check free space info in a directory freespace block. */ STATIC intxchk_directory_free_bestfree ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,struct xfs_da_args *args,xfs_dablk_t lblk) {
@@ -626,7 +626,7 @@ xchk_directory_free_bestfree(/* Check free space information in directories. */ STATIC intxchk_directory_blocks ( -struct xfs_scrub_context *sc) +struct xfs_scrub *sc) {struct xfs_bmbt_irec got;struct xfs_da_args args;
@@ -770,7 +770,7 @@ xchk_directory_blocks(/* Scrub a whole directory. */ int xchk_directory ( -struct xfs_scrub_context *sc) +struct xfs_scrub *sc) {struct xchk_dir_ctx sdc = { .dir_iter.actor = xchk_dir_actor,
fs/xfs/scrub/ialloc.c +11 -11
@@ -36,7 +36,7 @@*/ int xchk_setup_ag_iallocbt ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,struct xfs_inode *ip) {return xchk_setup_ag_btree (sc, ip, sc->try_harder);
@@ -51,7 +51,7 @@ xchk_setup_ag_iallocbt(*/ static inline void xchk_iallocbt_chunk_xref_other ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,struct xfs_inobt_rec_incore *irec,xfs_agino_t agino) {
@@ -76,7 +76,7 @@ xchk_iallocbt_chunk_xref_other(/* Cross-reference with the other btrees. */ STATIC void xchk_iallocbt_chunk_xref( - struct xfs_scrub_context *sc, + struct xfs_scrub *sc, struct xfs_inobt_rec_incore *irec, xfs_agino_t agino, xfs_agblock_t agbno,
@@ -363,7 +363,7 @@ xchk_iallocbt_rec(*/ STATIC voidxchk_iallocbt_xref_rmap_btreeblks ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,int which) {struct xfs_owner_info oinfo;
@@ -403,7 +403,7 @@ xchk_iallocbt_xref_rmap_btreeblks(*/ STATIC voidxchk_iallocbt_xref_rmap_inodes ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,int which,xfs_filblks_t inode_blocks) {
@@ -427,7 +427,7 @@ xchk_iallocbt_xref_rmap_inodes(/* Scrub the inode btrees for some AG. */ STATIC intxchk_iallocbt ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,xfs_btnum_t which) {struct xfs_btree_cur *cur;
@@ -459,14 +459,14 @@ xchk_iallocbt(int xchk_inobt ( -struct xfs_scrub_context *sc) +struct xfs_scrub *sc) {return xchk_iallocbt (sc,XFS_BTNUM_INO ); }int xchk_finobt ( -struct xfs_scrub_context *sc) +struct xfs_scrub *sc) {return xchk_iallocbt (sc,XFS_BTNUM_FINO ); }
@@ -474,7 +474,7 @@ xchk_finobt(/* See if an inode btree has (or doesn't have) an inode chunk record. */ static inline void xchk_xref_inode_check( - struct xfs_scrub_context *sc, + struct xfs_scrub *sc, xfs_agblock_t agbno, xfs_extlen_t len, struct xfs_btree_cur **icur,
@@ -496,7 +496,7 @@ xchk_xref_inode_check(/* xref check that the extent is not covered by inodes */ void xchk_xref_is_not_inode_chunk ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,xfs_agblock_t agbno,xfs_extlen_t len) {
@@ -507,7 +507,7 @@ xchk_xref_is_not_inode_chunk(/* xref check that the extent is covered by inodes */ void xchk_xref_is_inode_chunk ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,xfs_agblock_t agbno,xfs_extlen_t len) {
fs/xfs/scrub/inode.c +11 -11
@@ -38,7 +38,7 @@*/ int xchk_setup_inode ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,struct xfs_inode *ip) {int error;
@@ -77,7 +77,7 @@ xchk_setup_inode(/* Validate di_extsize hint. */ STATIC void xchk_inode_extsize( - struct xfs_scrub_context *sc, + struct xfs_scrub *sc, struct xfs_dinode *dip, xfs_ino_t ino, uint16_t mode,
@@ -99,7 +99,7 @@ xchk_inode_extsize(*/ STATIC void xchk_inode_cowextsize( - struct xfs_scrub_context *sc, + struct xfs_scrub *sc, struct xfs_dinode *dip, xfs_ino_t ino, uint16_t mode,
@@ -118,7 +118,7 @@ xchk_inode_cowextsize(/* Make sure the di_flags make sense for the inode. */ STATIC void xchk_inode_flags( - struct xfs_scrub_context *sc, + struct xfs_scrub *sc, struct xfs_dinode *dip, xfs_ino_t ino, uint16_t mode,
@@ -163,7 +163,7 @@ xchk_inode_flags(/* Make sure the di_flags2 make sense for the inode. */ STATIC void xchk_inode_flags2( - struct xfs_scrub_context *sc, + struct xfs_scrub *sc, struct xfs_dinode *dip, xfs_ino_t ino, uint16_t mode,
@@ -206,7 +206,7 @@ xchk_inode_flags2(/* Scrub all the ondisk inode fields. */ STATIC voidxchk_dinode ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,struct xfs_dinode *dip,xfs_ino_t ino) {
@@ -426,7 +426,7 @@ xchk_dinode(*/ static void xchk_inode_xref_finobt ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,xfs_ino_t ino) {struct xfs_inobt_rec_incore rec;
@@ -469,7 +469,7 @@ xchk_inode_xref_finobt(/* Cross reference the inode fields with the forks. */ STATIC voidxchk_inode_xref_bmap ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,struct xfs_dinode *dip) {xfs_extnum_t nextents;
@@ -503,7 +503,7 @@ xchk_inode_xref_bmap(/* Cross-reference with the other btrees. */ STATIC voidxchk_inode_xref ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,xfs_ino_t ino,struct xfs_dinode *dip) {
@@ -540,7 +540,7 @@ xchk_inode_xref(*/ static void xchk_inode_check_reflink_iflag ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,xfs_ino_t ino) {struct xfs_mount *mp = sc->mp;
@@ -564,7 +564,7 @@ xchk_inode_check_reflink_iflag(/* Scrub an inode. */ int xchk_inode ( -struct xfs_scrub_context *sc) +struct xfs_scrub *sc) {struct xfs_dinode di;int error =0 ;
fs/xfs/scrub/parent.c +4 -4
@@ -28,7 +28,7 @@/* Set us up to scrub parents. */ int xchk_setup_parent ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,struct xfs_inode *ip) {return xchk_setup_inode_contents (sc, ip,0 );
@@ -65,7 +65,7 @@ xchk_parent_actor(/* Count the number of dentries in the parent dir that point to this inode. */ STATIC intxchk_parent_count_parent_dentries ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,struct xfs_inode *parent,xfs_nlink_t *nlink) {
@@ -121,7 +121,7 @@ xchk_parent_count_parent_dentries(*/ STATIC intxchk_parent_validate ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,xfs_ino_t dnum,bool *try_again) {
@@ -255,7 +255,7 @@ xchk_parent_validate(/* Scrub a parent pointer. */ int xchk_parent ( -struct xfs_scrub_context *sc) +struct xfs_scrub *sc) {struct xfs_mount *mp = sc->mp;xfs_ino_t dnum;
fs/xfs/scrub/quota.c +6 -6
@@ -31,7 +31,7 @@/* Convert a scrub type code to a DQ flag, or return 0 if error. */ static inline uint xchk_quota_to_dqtype ( -struct xfs_scrub_context *sc) +struct xfs_scrub *sc) {switch (sc->sm->sm_type) {case XFS_SCRUB_TYPE_UQUOTA :
@@ -48,7 +48,7 @@ xchk_quota_to_dqtype(/* Set us up to scrub a quota. */ int xchk_setup_quota ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,struct xfs_inode *ip) {uint dqtype;
@@ -76,7 +76,7 @@ xchk_setup_quota(/* Quotas. */ struct xchk_quota_info { -struct xfs_scrub_context *sc; +struct xfs_scrub *sc;xfs_dqid_t last_id; };
@@ -88,7 +88,7 @@ xchk_quota_item( void *priv) {struct xchk_quota_info *sqi = priv; -struct xfs_scrub_context *sc = sqi->sc; +struct xfs_scrub *sc = sqi->sc;struct xfs_mount *mp = sc->mp;struct xfs_disk_dquot *d = &dq->q_core;struct xfs_quotainfo *qi = mp->m_quotainfo;
@@ -195,7 +195,7 @@ xchk_quota_item(/* Check the quota's data fork. */ STATIC intxchk_quota_data_fork ( -struct xfs_scrub_context *sc) +struct xfs_scrub *sc) {struct xfs_bmbt_irec irec = {0 };struct xfs_iext_cursor icur;
@@ -234,7 +234,7 @@ xchk_quota_data_fork(/* Scrub all of a quota type's items. */ int xchk_quota ( -struct xfs_scrub_context *sc) +struct xfs_scrub *sc) {struct xchk_quota_info sqi;struct xfs_mount *mp = sc->mp;
fs/xfs/scrub/refcount.c +8 -8
@@ -29,7 +29,7 @@*/ int xchk_setup_ag_refcountbt ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,struct xfs_inode *ip) {return xchk_setup_ag_btree (sc, ip, false);
@@ -79,7 +79,7 @@ struct xchk_refcnt_frag { };struct xchk_refcnt_check { -struct xfs_scrub_context *sc; +struct xfs_scrub *sc;struct list_head fragments;/* refcount extent we're examining */
@@ -278,7 +278,7 @@ xchk_refcountbt_process_rmap_fragments(/* Use the rmap entries covering this extent to verify the refcount. */ STATIC voidxchk_refcountbt_xref_rmap ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,xfs_agblock_t bno,xfs_extlen_t len,xfs_nlink_t refcount)
@@ -325,7 +325,7 @@ xchk_refcountbt_xref_rmap(/* Cross-reference with the other btrees. */ STATIC voidxchk_refcountbt_xref ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,xfs_agblock_t agbno,xfs_extlen_t len,xfs_nlink_t refcount)
@@ -382,7 +382,7 @@ xchk_refcountbt_rec(/* Make sure we have as many refc blocks as the rmap says. */ STATIC voidxchk_refcount_xref_rmap ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,struct xfs_owner_info *oinfo,xfs_filblks_t cow_blocks) {
@@ -417,7 +417,7 @@ xchk_refcount_xref_rmap(/* Scrub the refcount btree for some AG. */ int xchk_refcountbt ( -struct xfs_scrub_context *sc) +struct xfs_scrub *sc) {struct xfs_owner_info oinfo;xfs_agblock_t cow_blocks =0 ;
@@ -437,7 +437,7 @@ xchk_refcountbt(/* xref check that a cow staging extent is marked in the refcountbt. */ void xchk_xref_is_cow_staging ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,xfs_agblock_t agbno,xfs_extlen_t len) {
@@ -483,7 +483,7 @@ xchk_xref_is_cow_staging(*/ void xchk_xref_is_not_shared ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,xfs_agblock_t agbno,xfs_extlen_t len) {
fs/xfs/scrub/repair.c +18 -18
@@ -43,7 +43,7 @@int xrep_attempt (struct xfs_inode *ip, -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,bool *fixed) {int error =0 ;
@@ -106,7 +106,7 @@ xrep_failure(*/ int xrep_probe ( -struct xfs_scrub_context *sc) +struct xfs_scrub *sc) {int error =0 ;
@@ -122,7 +122,7 @@ xrep_probe(*/ int xrep_roll_ag_trans ( -struct xfs_scrub_context *sc) +struct xfs_scrub *sc) {int error;
@@ -179,7 +179,7 @@ xrep_ag_has_space(*/ xfs_extlen_t xrep_calc_ag_resblks ( -struct xfs_scrub_context *sc) +struct xfs_scrub *sc) {struct xfs_mount *mp = sc->mp;struct xfs_scrub_metadata *sm = sc->sm;
@@ -279,7 +279,7 @@ xrep_calc_ag_resblks(/* Allocate a block in an AG. */ int xrep_alloc_ag_block ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,struct xfs_owner_info *oinfo,xfs_fsblock_t *fsbno,enum xfs_ag_resv_type resv)
@@ -330,7 +330,7 @@ xrep_alloc_ag_block(/* Initialize a new AG btree root block with zero entries. */ int xrep_init_btblock( - struct xfs_scrub_context *sc, + struct xfs_scrub *sc, xfs_fsblock_t fsb, struct xfs_buf **bpp, xfs_btnum_t btnum,
@@ -385,7 +385,7 @@ xrep_init_btblock(/* Collect a dead btree extent for later disposal. */ int xrep_collect_btree_extent ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,struct xrep_extent_list *exlist,xfs_fsblock_t fsbno,xfs_extlen_t len)
@@ -415,7 +415,7 @@ xrep_collect_btree_extent(*/ void xrep_cancel_btree_extents ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,struct xrep_extent_list *exlist) {struct xrep_extent *rex;
@@ -463,7 +463,7 @@ xrep_btree_extent_cmp(#define RIGHT_ALIGNED (1 << 1)int xrep_subtract_extents ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,struct xrep_extent_list *exlist,struct xrep_extent_list *sublist) {
@@ -620,7 +620,7 @@ xrep_subtract_extents(*/ int xrep_invalidate_blocks ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,struct xrep_extent_list *exlist) {struct xrep_extent *rex;
@@ -658,7 +658,7 @@ xrep_invalidate_blocks(/* Ensure the freelist is the correct size. */ int xrep_fix_freelist ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,bool can_shrink) {struct xfs_alloc_arg args = {0 };
@@ -678,7 +678,7 @@ xrep_fix_freelist(*/ STATIC intxrep_put_freelist ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,xfs_agblock_t agbno) {struct xfs_owner_info oinfo;
@@ -714,7 +714,7 @@ xrep_put_freelist(/* Dispose of a single metadata block. */ STATIC intxrep_dispose_btree_block ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,xfs_fsblock_t fsbno,struct xfs_owner_info *oinfo,enum xfs_ag_resv_type resv)
@@ -788,7 +788,7 @@ xrep_dispose_btree_block(/* Dispose of btree blocks from an old per-AG btree. */ int xrep_reap_btree_extents ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,struct xrep_extent_list *exlist,struct xfs_owner_info *oinfo,enum xfs_ag_resv_type type)
@@ -851,7 +851,7 @@ xrep_reap_btree_extents(*/ struct xrep_findroot { -struct xfs_scrub_context *sc; +struct xfs_scrub *sc;struct xfs_buf *agfl_bp;struct xfs_agf *agf;struct xrep_find_ag_btree *btree_info;
@@ -981,7 +981,7 @@ xrep_findroot_rmap(/* Find the roots of the per-AG btrees described in btree_info. */ int xrep_find_ag_btree_roots ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,struct xfs_buf *agf_bp,struct xrep_find_ag_btree *btree_info,struct xfs_buf *agfl_bp)
@@ -1016,7 +1016,7 @@ xrep_find_ag_btree_roots(/* Force a quotacheck the next time we mount. */ void xrep_force_quotacheck ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,uint dqtype) {uint flag;
@@ -1044,7 +1044,7 @@ xrep_force_quotacheck(*/ int xrep_ino_dqattach ( -struct xfs_scrub_context *sc) +struct xfs_scrub *sc) {int error;
fs/xfs/scrub/repair.h +19 -19
@@ -6,7 +6,7 @@#ifndef __XFS_SCRUB_REPAIR_H__#define __XFS_SCRUB_REPAIR_H__ -static inline int xrep_notsupported (struct xfs_scrub_context *sc) +static inline int xrep_notsupported (struct xfs_scrub *sc) {return -EOPNOTSUPP ; }
@@ -15,17 +15,17 @@ static inline int xrep_notsupported(struct xfs_scrub_context *sc)/* Repair helpers */ -int xrep_attempt (struct xfs_inode *ip,struct xfs_scrub_context *sc, +int xrep_attempt (struct xfs_inode *ip,struct xfs_scrub *sc,bool *fixed);void xrep_failure (struct xfs_mount *mp); -int xrep_roll_ag_trans (struct xfs_scrub_context *sc); +int xrep_roll_ag_trans (struct xfs_scrub *sc);bool xrep_ag_has_space (struct xfs_perag *pag,xfs_extlen_t nr_blocks,enum xfs_ag_resv_type type); -xfs_extlen_t xrep_calc_ag_resblks (struct xfs_scrub_context *sc); -int xrep_alloc_ag_block (struct xfs_scrub_context *sc, +xfs_extlen_t xrep_calc_ag_resblks (struct xfs_scrub *sc); +int xrep_alloc_ag_block (struct xfs_scrub *sc,struct xfs_owner_info *oinfo,xfs_fsblock_t *fsbno,enum xfs_ag_resv_type resv); -int xrep_init_btblock (struct xfs_scrub_context *sc,xfs_fsblock_t fsb, +int xrep_init_btblock (struct xfs_scrub *sc,xfs_fsblock_t fsb,struct xfs_buf **bpp,xfs_btnum_t btnum,const struct xfs_buf_ops *ops);
@@ -48,18 +48,18 @@ xrep_init_extent_list(#define for_each_xrep_extent_safe (rbe, n, exlist) \ list_for_each_entry_safe((rbe), (n), &(exlist)->list, list) -int xrep_collect_btree_extent (struct xfs_scrub_context *sc, +int xrep_collect_btree_extent (struct xfs_scrub *sc,struct xrep_extent_list *btlist,xfs_fsblock_t fsbno,xfs_extlen_t len); -void xrep_cancel_btree_extents (struct xfs_scrub_context *sc, +void xrep_cancel_btree_extents (struct xfs_scrub *sc,struct xrep_extent_list *btlist); -int xrep_subtract_extents (struct xfs_scrub_context *sc, +int xrep_subtract_extents (struct xfs_scrub *sc,struct xrep_extent_list *exlist,struct xrep_extent_list *sublist); -int xrep_fix_freelist (struct xfs_scrub_context *sc,bool can_shrink); -int xrep_invalidate_blocks (struct xfs_scrub_context *sc, +int xrep_fix_freelist (struct xfs_scrub *sc,bool can_shrink); +int xrep_invalidate_blocks (struct xfs_scrub *sc,struct xrep_extent_list *btlist); -int xrep_reap_btree_extents (struct xfs_scrub_context *sc, +int xrep_reap_btree_extents (struct xfs_scrub *sc,struct xrep_extent_list *exlist,struct xfs_owner_info *oinfo,enum xfs_ag_resv_type type);
@@ -78,23 +78,23 @@ struct xrep_find_ag_btree { unsigned int height; }; -int xrep_find_ag_btree_roots (struct xfs_scrub_context *sc, +int xrep_find_ag_btree_roots (struct xfs_scrub *sc,struct xfs_buf *agf_bp,struct xrep_find_ag_btree *btree_info,struct xfs_buf *agfl_bp); -void xrep_force_quotacheck (struct xfs_scrub_context *sc,uint dqtype); -int xrep_ino_dqattach (struct xfs_scrub_context *sc); +void xrep_force_quotacheck (struct xfs_scrub *sc,uint dqtype); +int xrep_ino_dqattach (struct xfs_scrub *sc);/* Metadata repairers */ -int xrep_probe (struct xfs_scrub_context *sc); -int xrep_superblock (struct xfs_scrub_context *sc); +int xrep_probe (struct xfs_scrub *sc); +int xrep_superblock (struct xfs_scrub *sc);#else static inline int xrep_attempt (struct xfs_inode *ip, -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,bool *fixed) {return -EOPNOTSUPP ;
@@ -104,7 +104,7 @@ static inline void xrep_failure(struct xfs_mount *mp) {}static inline xfs_extlen_t xrep_calc_ag_resblks ( -struct xfs_scrub_context *sc) +struct xfs_scrub *sc) {ASSERT (!(sc->sm->sm_flags &XFS_SCRUB_IFLAG_REPAIR ));return 0 ;
fs/xfs/scrub/rmap.c +8 -8
@@ -30,7 +30,7 @@*/ int xchk_setup_ag_rmapbt ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,struct xfs_inode *ip) {return xchk_setup_ag_btree (sc, ip, false);
@@ -41,7 +41,7 @@ xchk_setup_ag_rmapbt(/* Cross-reference a rmap against the refcount btree. */ STATIC voidxchk_rmapbt_xref_refc ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,struct xfs_rmap_irec *irec) {xfs_agblock_t fbno;
@@ -72,7 +72,7 @@ xchk_rmapbt_xref_refc(/* Cross-reference with the other btrees. */ STATIC voidxchk_rmapbt_xref ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,struct xfs_rmap_irec *irec) {xfs_agblock_t agbno = irec->rm_startblock;
@@ -172,7 +172,7 @@ xchk_rmapbt_rec(/* Scrub the rmap btree for some AG. */ int xchk_rmapbt ( -struct xfs_scrub_context *sc) +struct xfs_scrub *sc) {struct xfs_owner_info oinfo;
@@ -184,7 +184,7 @@ xchk_rmapbt(/* xref check that the extent is owned by a given owner */ static inline void xchk_xref_check_owner( - struct xfs_scrub_context *sc, + struct xfs_scrub *sc, xfs_agblock_t bno, xfs_extlen_t len, struct xfs_owner_info *oinfo,
@@ -207,7 +207,7 @@ xchk_xref_check_owner(/* xref check that the extent is owned by a given owner */ void xchk_xref_is_owned_by ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,xfs_agblock_t bno,xfs_extlen_t len,struct xfs_owner_info *oinfo)
@@ -218,7 +218,7 @@ xchk_xref_is_owned_by(/* xref check that the extent is not owned by a given owner */ void xchk_xref_is_not_owned_by ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,xfs_agblock_t bno,xfs_extlen_t len,struct xfs_owner_info *oinfo)
@@ -229,7 +229,7 @@ xchk_xref_is_not_owned_by(/* xref check that the extent has no reverse mapping at all */ void xchk_xref_has_no_owner ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,xfs_agblock_t bno,xfs_extlen_t len) {
fs/xfs/scrub/rtbitmap.c +5 -5
@@ -26,7 +26,7 @@/* Set us up with the realtime metadata locked. */ int xchk_setup_rt ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,struct xfs_inode *ip) {int error;
@@ -51,7 +51,7 @@ xchk_rtbitmap_rec(struct xfs_rtalloc_rec *rec, void *priv) { - struct xfs_scrub_context *sc = priv; + struct xfs_scrub *sc = priv;xfs_rtblock_t startblock;xfs_rtblock_t blockcount;
@@ -68,7 +68,7 @@ xchk_rtbitmap_rec(/* Scrub the realtime bitmap. */ int xchk_rtbitmap ( -struct xfs_scrub_context *sc) +struct xfs_scrub *sc) {int error;
@@ -88,7 +88,7 @@ xchk_rtbitmap(/* Scrub the realtime summary. */ int xchk_rtsummary ( -struct xfs_scrub_context *sc) +struct xfs_scrub *sc) {struct xfs_inode *rsumip = sc->mp->m_rsumip;struct xfs_inode *old_ip = sc->ip;
@@ -125,7 +125,7 @@ xchk_rtsummary(/* xref check that the extent is not free in the rtbitmap */ void xchk_xref_is_used_rt_space ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,xfs_rtblock_t fsbno,xfs_extlen_t len) {
fs/xfs/scrub/scrub.c +5 -5
@@ -151,7 +151,7 @@*/ static int xchk_probe ( -struct xfs_scrub_context *sc) +struct xfs_scrub *sc) {int error =0 ;
@@ -166,7 +166,7 @@ xchk_probe(/* Free all the resources and finish the transactions. */ STATIC intxchk_teardown ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,struct xfs_inode *ip_in,int error) {
@@ -447,7 +447,7 @@ xchk_validate_inputs( }#ifdef CONFIG_XFS_ONLINE_REPAIR -static inline void xchk_postmortem (struct xfs_scrub_context *sc) +static inline void xchk_postmortem (struct xfs_scrub *sc) {/* * Userspace asked us to repair something, we repaired it, rescanned
@@ -460,7 +460,7 @@ static inline void xchk_postmortem(struct xfs_scrub_context *sc) xrep_failure(sc->mp); }#else -static inline void xchk_postmortem (struct xfs_scrub_context *sc) +static inline void xchk_postmortem (struct xfs_scrub *sc) {/* * Userspace asked us to scrub something, it's broken, and we have no
@@ -479,7 +479,7 @@ xfs_scrub_metadata(struct xfs_inode *ip, struct xfs_scrub_metadata *sm) { - struct xfs_scrub_context sc; + struct xfs_scrub sc;struct xfs_mount *mp = ip->i_mount;bool try_harder = false;bool already_fixed = false;
fs/xfs/scrub/scrub.h +39 -39
138 lines not on this page · raw message
fs/xfs/scrub/symlink.c +2 -2
@@ -26,7 +26,7 @@/* Set us up to scrub a symbolic link. */ int xchk_setup_symlink ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,struct xfs_inode *ip) {/* Allocate the buffer without the inode lock held. */
@@ -41,7 +41,7 @@ xchk_setup_symlink(int xchk_symlink ( -struct xfs_scrub_context *sc) +struct xfs_scrub *sc) {struct xfs_inode *ip = sc->ip;struct xfs_ifork *ifp;
fs/xfs/scrub/trace.h +16 -16
@@ -59,7 +59,7 @@ DEFINE_SCRUB_EVENT(xrep_attempt);DEFINE_SCRUB_EVENT (xrep_done); TRACE_EVENT(xchk_op_error, - TP_PROTO(struct xfs_scrub_context *sc, xfs_agnumber_t agno, + TP_PROTO(struct xfs_scrub *sc, xfs_agnumber_t agno, xfs_agblock_t bno, int error, void *ret_ip), TP_ARGS(sc, agno, bno, error, ret_ip), TP_STRUCT__entry(
@@ -88,7 +88,7 @@ TRACE_EVENT(xchk_op_error, ); TRACE_EVENT(xchk_file_op_error, - TP_PROTO(struct xfs_scrub_context *sc, int whichfork, + TP_PROTO(struct xfs_scrub *sc, int whichfork, xfs_fileoff_t offset, int error, void *ret_ip), TP_ARGS(sc, whichfork, offset, error, ret_ip), TP_STRUCT__entry(
@@ -120,7 +120,7 @@ TRACE_EVENT(xchk_file_op_error, ); DECLARE_EVENT_CLASS(xchk_block_error_class, - TP_PROTO(struct xfs_scrub_context *sc, xfs_daddr_t daddr, void *ret_ip), + TP_PROTO(struct xfs_scrub *sc, xfs_daddr_t daddr, void *ret_ip), TP_ARGS(sc, daddr, ret_ip), TP_STRUCT__entry( __field(dev_t, dev)
@@ -154,7 +154,7 @@ DECLARE_EVENT_CLASS(xchk_block_error_class,#define DEFINE_SCRUB_BLOCK_ERROR_EVENT (name) \ DEFINE_EVENT(xchk_block_error_class, name, \ - TP_PROTO(struct xfs_scrub_context *sc, xfs_daddr_t daddr, \ + TP_PROTO(struct xfs_scrub *sc, xfs_daddr_t daddr, \ void *ret_ip), \ TP_ARGS(sc, daddr, ret_ip))
@@ -162,7 +162,7 @@ DEFINE_SCRUB_BLOCK_ERROR_EVENT(xchk_block_error);DEFINE_SCRUB_BLOCK_ERROR_EVENT (xchk_block_preen); DECLARE_EVENT_CLASS(xchk_ino_error_class, - TP_PROTO(struct xfs_scrub_context *sc, xfs_ino_t ino, void *ret_ip), + TP_PROTO(struct xfs_scrub *sc, xfs_ino_t ino, void *ret_ip), TP_ARGS(sc, ino, ret_ip), TP_STRUCT__entry( __field(dev_t, dev)
@@ -185,7 +185,7 @@ DECLARE_EVENT_CLASS(xchk_ino_error_class,#define DEFINE_SCRUB_INO_ERROR_EVENT (name) \ DEFINE_EVENT(xchk_ino_error_class, name, \ - TP_PROTO(struct xfs_scrub_context *sc, xfs_ino_t ino, \ + TP_PROTO(struct xfs_scrub *sc, xfs_ino_t ino, \ void *ret_ip), \ TP_ARGS(sc, ino, ret_ip))
@@ -194,7 +194,7 @@ DEFINE_SCRUB_INO_ERROR_EVENT(xchk_ino_preen);DEFINE_SCRUB_INO_ERROR_EVENT (xchk_ino_warning); DECLARE_EVENT_CLASS(xchk_fblock_error_class, - TP_PROTO(struct xfs_scrub_context *sc, int whichfork, + TP_PROTO(struct xfs_scrub *sc, int whichfork, xfs_fileoff_t offset, void *ret_ip), TP_ARGS(sc, whichfork, offset, ret_ip), TP_STRUCT__entry(
@@ -224,7 +224,7 @@ DECLARE_EVENT_CLASS(xchk_fblock_error_class,#define DEFINE_SCRUB_FBLOCK_ERROR_EVENT (name) \ DEFINE_EVENT(xchk_fblock_error_class, name, \ - TP_PROTO(struct xfs_scrub_context *sc, int whichfork, \ + TP_PROTO(struct xfs_scrub *sc, int whichfork, \ xfs_fileoff_t offset, void *ret_ip), \ TP_ARGS(sc, whichfork, offset, ret_ip))
@@ -232,7 +232,7 @@ DEFINE_SCRUB_FBLOCK_ERROR_EVENT(xchk_fblock_error);DEFINE_SCRUB_FBLOCK_ERROR_EVENT (xchk_fblock_warning); TRACE_EVENT(xchk_incomplete, - TP_PROTO(struct xfs_scrub_context *sc, void *ret_ip), + TP_PROTO(struct xfs_scrub *sc, void *ret_ip), TP_ARGS(sc, ret_ip), TP_STRUCT__entry( __field(dev_t, dev)
@@ -251,7 +251,7 @@ TRACE_EVENT(xchk_incomplete, ); TRACE_EVENT(xchk_btree_op_error, - TP_PROTO(struct xfs_scrub_context *sc, struct xfs_btree_cur *cur, + TP_PROTO(struct xfs_scrub *sc, struct xfs_btree_cur *cur, int level, int error, void *ret_ip), TP_ARGS(sc, cur, level, error, ret_ip), TP_STRUCT__entry(
@@ -291,7 +291,7 @@ TRACE_EVENT(xchk_btree_op_error, ); TRACE_EVENT(xchk_ifork_btree_op_error, - TP_PROTO(struct xfs_scrub_context *sc, struct xfs_btree_cur *cur, + TP_PROTO(struct xfs_scrub *sc, struct xfs_btree_cur *cur, int level, int error, void *ret_ip), TP_ARGS(sc, cur, level, error, ret_ip), TP_STRUCT__entry(
@@ -336,7 +336,7 @@ TRACE_EVENT(xchk_ifork_btree_op_error, ); TRACE_EVENT(xchk_btree_error, - TP_PROTO(struct xfs_scrub_context *sc, struct xfs_btree_cur *cur, + TP_PROTO(struct xfs_scrub *sc, struct xfs_btree_cur *cur, int level, void *ret_ip), TP_ARGS(sc, cur, level, ret_ip), TP_STRUCT__entry(
@@ -372,7 +372,7 @@ TRACE_EVENT(xchk_btree_error, ); TRACE_EVENT(xchk_ifork_btree_error, - TP_PROTO(struct xfs_scrub_context *sc, struct xfs_btree_cur *cur, + TP_PROTO(struct xfs_scrub *sc, struct xfs_btree_cur *cur, int level, void *ret_ip), TP_ARGS(sc, cur, level, ret_ip), TP_STRUCT__entry(
@@ -414,7 +414,7 @@ TRACE_EVENT(xchk_ifork_btree_error, ); DECLARE_EVENT_CLASS(xchk_sbtree_class, - TP_PROTO(struct xfs_scrub_context *sc, struct xfs_btree_cur *cur, + TP_PROTO(struct xfs_scrub *sc, struct xfs_btree_cur *cur, int level), TP_ARGS(sc, cur, level), TP_STRUCT__entry(
@@ -451,7 +451,7 @@ DECLARE_EVENT_CLASS(xchk_sbtree_class, )#define DEFINE_SCRUB_SBTREE_EVENT (name) \ DEFINE_EVENT(xchk_sbtree_class, name, \ - TP_PROTO(struct xfs_scrub_context *sc, struct xfs_btree_cur *cur, \ + TP_PROTO(struct xfs_scrub *sc, struct xfs_btree_cur *cur, \ int level), \ TP_ARGS(sc, cur, level))
@@ -459,7 +459,7 @@ DEFINE_SCRUB_SBTREE_EVENT(xchk_btree_rec);DEFINE_SCRUB_SBTREE_EVENT (xchk_btree_key); TRACE_EVENT(xchk_xref_error, - TP_PROTO(struct xfs_scrub_context *sc, int error, void *ret_ip), + TP_PROTO(struct xfs_scrub *sc, int error, void *ret_ip), TP_ARGS(sc, error, ret_ip), TP_STRUCT__entry( __field(dev_t, dev)
Re: [PATCH 7/8] xfs: shorten struct xfs_scrub_context to struct xfs_scrub
Quoted 41 lines · Darrick J. Wong
From: Darrick J. Wong <[email protected]>
Shorten the name of the online fsck context structure. Whitespace damage will be fixed by a subsequent patch. There are no functional changes.
Signed-off-by Darrick J. Wong <[email protected]>--- fs/xfs/scrub/agheader.c | 32 +++++++-------- fs/xfs/scrub/agheader_repair.c | 2 - fs/xfs/scrub/alloc.c | 14 +++--- fs/xfs/scrub/attr.c | 10 ++--- fs/xfs/scrub/bmap.c | 22 +++++----- fs/xfs/scrub/btree.c | 14 +++--- fs/xfs/scrub/btree.h | 12 +++-- fs/xfs/scrub/common.c | 62 ++++++++++++++-------------- fs/xfs/scrub/common.h | 88 ++++++++++++++++++++-------------------- fs/xfs/scrub/dabtree.c | 6 +-- fs/xfs/scrub/dabtree.h | 4 +- fs/xfs/scrub/dir.c | 18 ++++---- fs/xfs/scrub/ialloc.c | 22 +++++----- fs/xfs/scrub/inode.c | 22 +++++----- fs/xfs/scrub/parent.c | 8 ++-- fs/xfs/scrub/quota.c | 12 +++-- fs/xfs/scrub/refcount.c | 16 ++++--- fs/xfs/scrub/repair.c | 36 ++++++++-------- fs/xfs/scrub/repair.h | 38 +++++++++-------- fs/xfs/scrub/rmap.c | 16 ++++--- fs/xfs/scrub/rtbitmap.c | 10 ++--- fs/xfs/scrub/scrub.c | 10 ++--- fs/xfs/scrub/scrub.h | 78 ++++++++++++++++++----------------- fs/xfs/scrub/symlink.c | 4 +- fs/xfs/scrub/trace.h | 32 +++++++-------- 25 files changed, 294 insertions(+), 294 deletions(-)fs/xfs/scrub/agheader.c +0
-0
fs/xfs/scrub/agheader.c line 32
Quoted 5 lines
fs/xfs/scrub/agheader.c +1
-1@@ -29,7 +29,7 @@/* Cross-reference with the other btrees. */ STATIC void xchk_superblock_xref( - struct xfs_scrub_context *sc, + struct xfs_scrub *sc,
Assuming the indents are fixed up in the next patch:
Quoted 2,216 lines
fs/xfs/scrub/agheader.c +15
-15struct xfs_buf *bp) {struct xfs_owner_info oinfo;@@ -66,7 +66,7 @@ xchk_superblock_xref(*/ int xchk_superblock ( -struct xfs_scrub_context *sc) +struct xfs_scrub *sc) {struct xfs_mount *mp = sc->mp;struct xfs_buf *bp;@@ -365,7 +365,7 @@ xchk_agf_record_bno_lengths(/* Check agf_freeblks */ static inline void xchk_agf_xref_freeblks ( -struct xfs_scrub_context *sc) +struct xfs_scrub *sc) {struct xfs_agf *agf =XFS_BUF_TO_AGF (sc->sa.agf_bp);xfs_extlen_t blocks =0 ;@@ -385,7 +385,7 @@ xchk_agf_xref_freeblks(/* Cross reference the AGF with the cntbt (freespace by length btree) */ static inline void xchk_agf_xref_cntbt ( -struct xfs_scrub_context *sc) +struct xfs_scrub *sc) {struct xfs_agf *agf =XFS_BUF_TO_AGF (sc->sa.agf_bp);xfs_agblock_t agbno;@@ -417,7 +417,7 @@ xchk_agf_xref_cntbt(/* Check the btree block counts in the AGF against the btrees. */ STATIC voidxchk_agf_xref_btreeblks ( -struct xfs_scrub_context *sc) +struct xfs_scrub *sc) {struct xfs_agf *agf =XFS_BUF_TO_AGF (sc->sa.agf_bp);struct xfs_mount *mp = sc->mp;@@ -463,7 +463,7 @@ xchk_agf_xref_btreeblks(/* Check agf_refcount_blocks against tree size */ static inline void xchk_agf_xref_refcblks ( -struct xfs_scrub_context *sc) +struct xfs_scrub *sc) {struct xfs_agf *agf =XFS_BUF_TO_AGF (sc->sa.agf_bp);xfs_agblock_t blocks;@@ -482,7 +482,7 @@ xchk_agf_xref_refcblks(/* Cross-reference with the other btrees. */ STATIC voidxchk_agf_xref ( -struct xfs_scrub_context *sc) +struct xfs_scrub *sc) {struct xfs_owner_info oinfo;struct xfs_mount *mp = sc->mp;@@ -514,7 +514,7 @@ xchk_agf_xref(/* Scrub the AGF. */ int xchk_agf ( -struct xfs_scrub_context *sc) +struct xfs_scrub *sc) {struct xfs_mount *mp = sc->mp;struct xfs_agf *agf;@@ -602,13 +602,13 @@ struct xchk_agfl_info {unsigned int sz_entries;unsigned int nr_entries;xfs_agblock_t *entries; -struct xfs_scrub_context *sc; +struct xfs_scrub *sc; };/* Cross-reference with the other btrees. */ STATIC voidxchk_agfl_block_xref ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,xfs_agblock_t agbno,struct xfs_owner_info *oinfo) {@@ -629,7 +629,7 @@ xchk_agfl_block( void *priv) {struct xchk_agfl_info *sai = priv; -struct xfs_scrub_context *sc = sai->sc; +struct xfs_scrub *sc = sai->sc;xfs_agnumber_t agno = sc->sa.agno; if (xfs_verify_agbno(mp, agno, agbno) &&@@ -660,7 +660,7 @@ xchk_agblock_cmp(/* Cross-reference with the other btrees. */ STATIC voidxchk_agfl_xref ( -struct xfs_scrub_context *sc) +struct xfs_scrub *sc) {struct xfs_owner_info oinfo;struct xfs_mount *mp = sc->mp;@@ -691,7 +691,7 @@ xchk_agfl_xref(/* Scrub the AGFL. */ int xchk_agfl ( -struct xfs_scrub_context *sc) +struct xfs_scrub *sc) {struct xchk_agfl_info sai;struct xfs_agf *agf;@@ -768,7 +768,7 @@ xchk_agfl(/* Check agi_count/agi_freecount */ static inline void xchk_agi_xref_icounts ( -struct xfs_scrub_context *sc) +struct xfs_scrub *sc) {struct xfs_agi *agi =XFS_BUF_TO_AGI (sc->sa.agi_bp);xfs_agino_t icount;@@ -789,7 +789,7 @@ xchk_agi_xref_icounts(/* Cross-reference with the other btrees. */ STATIC voidxchk_agi_xref ( -struct xfs_scrub_context *sc) +struct xfs_scrub *sc) {struct xfs_owner_info oinfo;struct xfs_mount *mp = sc->mp;@@ -818,7 +818,7 @@ xchk_agi_xref(/* Scrub the AGI. */ int xchk_agi ( -struct xfs_scrub_context *sc) +struct xfs_scrub *sc) {struct xfs_mount *mp = sc->mp;struct xfs_agi *agi;fs/xfs/scrub/agheader_repair.c +1
-1@@ -29,7 +29,7 @@/* Repair the superblock. */ int xrep_superblock ( -struct xfs_scrub_context *sc) +struct xfs_scrub *sc) {struct xfs_mount *mp = sc->mp;struct xfs_buf *bp;fs/xfs/scrub/alloc.c +7
-7@@ -29,7 +29,7 @@*/ int xchk_setup_ag_allocbt ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,struct xfs_inode *ip) {return xchk_setup_ag_btree (sc, ip, false);@@ -42,7 +42,7 @@ xchk_setup_ag_allocbt(*/ STATIC voidxchk_allocbt_xref_other ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,xfs_agblock_t agbno,xfs_extlen_t len) {@@ -82,7 +82,7 @@ xchk_allocbt_xref_other(/* Cross-reference with the other btrees. */ STATIC voidxchk_allocbt_xref ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,xfs_agblock_t agbno,xfs_extlen_t len) {@@ -123,7 +123,7 @@ xchk_allocbt_rec(/* Scrub the freespace btrees for some AG. */ STATIC intxchk_allocbt ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,xfs_btnum_t which) {struct xfs_owner_info oinfo;@@ -136,14 +136,14 @@ xchk_allocbt(int xchk_bnobt ( -struct xfs_scrub_context *sc) +struct xfs_scrub *sc) {return xchk_allocbt (sc,XFS_BTNUM_BNO ); }int xchk_cntbt ( -struct xfs_scrub_context *sc) +struct xfs_scrub *sc) {return xchk_allocbt (sc,XFS_BTNUM_CNT ); }@@ -151,7 +151,7 @@ xchk_cntbt(/* xref check that the extent is not free */ void xchk_xref_is_used_space ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,xfs_agblock_t agbno,xfs_extlen_t len) {fs/xfs/scrub/attr.c +5
-5@@ -33,7 +33,7 @@/* Set us up to scrub an inode's extended attributes. */ int xchk_setup_xattr ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,struct xfs_inode *ip) {size_t sz;@@ -57,7 +57,7 @@ xchk_setup_xattr(struct xchk_xattr {struct xfs_attr_list_context context; -struct xfs_scrub_context *sc; +struct xfs_scrub *sc; };/* @@ -127,7 +127,7 @@ xchk_xattr_listent(*/ STATIC boolxchk_xattr_set_map ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,unsigned long *map,unsigned int start,unsigned int len)@@ -155,7 +155,7 @@ xchk_xattr_set_map(*/ STATIC boolxchk_xattr_check_freemap ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,unsigned long *map,struct xfs_attr3_icleaf_hdr *leafhdr) {@@ -405,7 +405,7 @@ xchk_xattr_rec(/* Scrub the extended attribute metadata. */ int xchk_xattr ( -struct xfs_scrub_context *sc) +struct xfs_scrub *sc) {struct xchk_xattr sx;struct attrlist_cursor_kern cursor = {0 };fs/xfs/scrub/bmap.c +11
-11@@ -34,7 +34,7 @@/* Set us up with an inode's bmap. */ int xchk_setup_inode_bmap ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,struct xfs_inode *ip) {int error;@@ -79,7 +79,7 @@ xchk_setup_inode_bmap(*/ struct xchk_bmap_info { -struct xfs_scrub_context *sc; +struct xfs_scrub *sc;xfs_fileoff_t lastoff;bool is_rt;bool is_shared;@@ -391,7 +391,7 @@ xchk_bmapbt_rec(/* Scan the btree records. */ STATIC intxchk_bmap_btree ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,int whichfork,struct xchk_bmap_info *info) {@@ -409,7 +409,7 @@ xchk_bmap_btree( }struct xchk_bmap_check_rmap_info { -struct xfs_scrub_context *sc; +struct xfs_scrub *sc;int whichfork;struct xfs_iext_cursor icur; };@@ -424,7 +424,7 @@ xchk_bmap_check_rmap(struct xfs_bmbt_irec irec;struct xchk_bmap_check_rmap_info *sbcri = priv;struct xfs_ifork *ifp; -struct xfs_scrub_context *sc = sbcri->sc; +struct xfs_scrub *sc = sbcri->sc;bool have_map;/* Is this even the right fork? */ @@ -488,7 +488,7 @@ xchk_bmap_check_rmap(/* Make sure each rmap has a corresponding bmbt entry. */ STATIC intxchk_bmap_check_ag_rmaps ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,int whichfork,xfs_agnumber_t agno) {@@ -522,7 +522,7 @@ xchk_bmap_check_ag_rmaps(/* Make sure each rmap has a corresponding bmbt entry. */ STATIC intxchk_bmap_check_rmaps ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,int whichfork) {loff_t size;@@ -579,7 +579,7 @@ xchk_bmap_check_rmaps(*/ STATIC intxchk_bmap ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,int whichfork) {struct xfs_bmbt_irec irec;@@ -694,7 +694,7 @@ xchk_bmap(/* Scrub an inode's data fork. */ int xchk_bmap_data ( -struct xfs_scrub_context *sc) +struct xfs_scrub *sc) {return xchk_bmap (sc,XFS_DATA_FORK ); }@@ -702,7 +702,7 @@ xchk_bmap_data(/* Scrub an inode's attr fork. */ int xchk_bmap_attr ( -struct xfs_scrub_context *sc) +struct xfs_scrub *sc) {return xchk_bmap (sc,XFS_ATTR_FORK ); }@@ -710,7 +710,7 @@ xchk_bmap_attr(/* Scrub an inode's CoW fork. */ int xchk_bmap_cow ( -struct xfs_scrub_context *sc) +struct xfs_scrub *sc) {if (!xfs_is_reflink_inode (sc->ip))return -ENOENT ;fs/xfs/scrub/btree.c +7
-7@@ -30,7 +30,7 @@*/ static bool __xchk_btree_process_error( - struct xfs_scrub_context *sc, + struct xfs_scrub *sc, struct xfs_btree_cur *cur, int level, int *error,@@ -65,7 +65,7 @@ __xchk_btree_process_error(bool xchk_btree_process_error ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,struct xfs_btree_cur *cur,int level,int *error)@@ -76,7 +76,7 @@ xchk_btree_process_error(bool xchk_btree_xref_process_error ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,struct xfs_btree_cur *cur,int level,int *error)@@ -88,7 +88,7 @@ xchk_btree_xref_process_error(/* Record btree block corruption. */ static void __xchk_btree_set_corrupt( - struct xfs_scrub_context *sc, + struct xfs_scrub *sc, struct xfs_btree_cur *cur, int level, __u32 errflag,@@ -106,7 +106,7 @@ __xchk_btree_set_corrupt(void xchk_btree_set_corrupt ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,struct xfs_btree_cur *cur,int level) {@@ -116,7 +116,7 @@ xchk_btree_set_corrupt(void xchk_btree_xref_set_corrupt ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,struct xfs_btree_cur *cur,int level) {@@ -583,7 +583,7 @@ xchk_btree_block_keys(*/ int xchk_btree( - struct xfs_scrub_context *sc, + struct xfs_scrub *sc, struct xfs_btree_cur *cur, xchk_btree_rec_fn scrub_fn, struct xfs_owner_info *oinfo,fs/xfs/scrub/btree.h +6
-6@@ -9,20 +9,20 @@/* btree scrub */ /* Check for btree operation errors. */ -bool xchk_btree_process_error (struct xfs_scrub_context *sc, +bool xchk_btree_process_error (struct xfs_scrub *sc,struct xfs_btree_cur *cur,int level,int *error);/* Check for btree xref operation errors. */ -bool xchk_btree_xref_process_error (struct xfs_scrub_context *sc, +bool xchk_btree_xref_process_error (struct xfs_scrub *sc,struct xfs_btree_cur *cur,int level,int *error);/* Check for btree corruption. */ -void xchk_btree_set_corrupt (struct xfs_scrub_context *sc, +void xchk_btree_set_corrupt (struct xfs_scrub *sc,struct xfs_btree_cur *cur,int level);/* Check for btree xref discrepancies. */ -void xchk_btree_xref_set_corrupt (struct xfs_scrub_context *sc, +void xchk_btree_xref_set_corrupt (struct xfs_scrub *sc,struct xfs_btree_cur *cur,int level);struct xchk_btree ;@@ -32,7 +32,7 @@ typedef int (*xchk_btree_rec_fn)(struct xchk_btree {/* caller-provided scrub state */ -struct xfs_scrub_context *sc; +struct xfs_scrub *sc;struct xfs_btree_cur *cur;xchk_btree_rec_fn scrub_rec;struct xfs_owner_info *oinfo;@@ -45,7 +45,7 @@ struct xchk_btree {bool firstkey[XFS_BTREE_MAXLEVELS ];struct list_head to_check; }; -int xchk_btree (struct xfs_scrub_context *sc,struct xfs_btree_cur *cur, +int xchk_btree (struct xfs_scrub *sc,struct xfs_btree_cur *cur,xchk_btree_rec_fn scrub_fn,struct xfs_owner_info *oinfo,void *private);fs/xfs/scrub/common.c +31
-31@@ -69,7 +69,7 @@/* Check for operational errors. */ static bool __xchk_process_error( - struct xfs_scrub_context *sc, + struct xfs_scrub *sc, xfs_agnumber_t agno, xfs_agblock_t bno, int *error,@@ -99,7 +99,7 @@ __xchk_process_error(bool xchk_process_error ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,xfs_agnumber_t agno,xfs_agblock_t bno,int *error)@@ -110,7 +110,7 @@ xchk_process_error(bool xchk_xref_process_error ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,xfs_agnumber_t agno,xfs_agblock_t bno,int *error)@@ -122,7 +122,7 @@ xchk_xref_process_error(/* Check for operational errors for a file offset. */ static bool __xchk_fblock_process_error( - struct xfs_scrub_context *sc, + struct xfs_scrub *sc, int whichfork, xfs_fileoff_t offset, int *error,@@ -152,7 +152,7 @@ __xchk_fblock_process_error(bool xchk_fblock_process_error ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,int whichfork,xfs_fileoff_t offset,int *error)@@ -163,7 +163,7 @@ xchk_fblock_process_error(bool xchk_fblock_xref_process_error ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,int whichfork,xfs_fileoff_t offset,int *error)@@ -187,7 +187,7 @@ xchk_fblock_xref_process_error(/* Record a block which could be optimized. */ void xchk_block_set_preen ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,struct xfs_buf *bp) { sc->sm->sm_flags |=XFS_SCRUB_OFLAG_PREEN ;@@ -201,7 +201,7 @@ xchk_block_set_preen(*/ void xchk_ino_set_preen ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,xfs_ino_t ino) { sc->sm->sm_flags |=XFS_SCRUB_OFLAG_PREEN ;@@ -211,7 +211,7 @@ xchk_ino_set_preen(/* Record a corrupt block. */ void xchk_block_set_corrupt ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,struct xfs_buf *bp) { sc->sm->sm_flags |=XFS_SCRUB_OFLAG_CORRUPT ;@@ -221,7 +221,7 @@ xchk_block_set_corrupt(/* Record a corruption while cross-referencing. */ void xchk_block_xref_set_corrupt ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,struct xfs_buf *bp) { sc->sm->sm_flags |=XFS_SCRUB_OFLAG_XCORRUPT ;@@ -235,7 +235,7 @@ xchk_block_xref_set_corrupt(*/ void xchk_ino_set_corrupt ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,xfs_ino_t ino) { sc->sm->sm_flags |=XFS_SCRUB_OFLAG_CORRUPT ;@@ -245,7 +245,7 @@ xchk_ino_set_corrupt(/* Record a corruption while cross-referencing with an inode. */ void xchk_ino_xref_set_corrupt ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,xfs_ino_t ino) { sc->sm->sm_flags |=XFS_SCRUB_OFLAG_XCORRUPT ;@@ -255,7 +255,7 @@ xchk_ino_xref_set_corrupt(/* Record corruption in a block indexed by a file fork. */ void xchk_fblock_set_corrupt ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,int whichfork,xfs_fileoff_t offset) {@@ -266,7 +266,7 @@ xchk_fblock_set_corrupt(/* Record a corruption while cross-referencing a fork block. */ void xchk_fblock_xref_set_corrupt ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,int whichfork,xfs_fileoff_t offset) {@@ -280,7 +280,7 @@ xchk_fblock_xref_set_corrupt(*/ void xchk_ino_set_warning ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,xfs_ino_t ino) { sc->sm->sm_flags |=XFS_SCRUB_OFLAG_WARNING ;@@ -290,7 +290,7 @@ xchk_ino_set_warning(/* Warn about a block indexed by a file fork that needs review. */ void xchk_fblock_set_warning ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,int whichfork,xfs_fileoff_t offset) {@@ -301,7 +301,7 @@ xchk_fblock_set_warning(/* Signal an incomplete scrub. */ void xchk_set_incomplete ( -struct xfs_scrub_context *sc) +struct xfs_scrub *sc) { sc->sm->sm_flags |=XFS_SCRUB_OFLAG_INCOMPLETE ;trace_xchk_incomplete (sc, __return_address);@@ -345,7 +345,7 @@ xchk_count_rmap_ownedby_irec(*/ int xchk_count_rmap_ownedby_ag ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,struct xfs_btree_cur *cur,struct xfs_owner_info *oinfo,xfs_filblks_t *blocks)@@ -371,7 +371,7 @@ xchk_count_rmap_ownedby_ag(/* Decide if we want to return an AG header read failure. */ static inline bool want_ag_read_header_failure ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,unsigned int type) {/* Return all AG header read failures when scanning btrees. */ @@ -398,7 +398,7 @@ want_ag_read_header_failure(*/ int xchk_ag_read_headers( - struct xfs_scrub_context *sc, + struct xfs_scrub *sc, xfs_agnumber_t agno, struct xfs_buf **agi, struct xfs_buf **agf,@@ -452,7 +452,7 @@ xchk_ag_btcur_free(/* Initialize all the btree cursors for an AG. */ int xchk_ag_btcur_init ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,struct xchk_ag *sa) {struct xfs_mount *mp = sc->mp;@@ -512,7 +512,7 @@ xchk_ag_btcur_init(/* Release the AG header context and btree cursors. */ void xchk_ag_free ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,struct xchk_ag *sa) {xchk_ag_btcur_free (sa);@@ -544,7 +544,7 @@ xchk_ag_free(*/ int xchk_ag_init ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,xfs_agnumber_t agno,struct xchk_ag *sa) {@@ -586,7 +586,7 @@ xchk_perag_get(*/ int xchk_trans_alloc ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,uint resblks) {if (sc->sm->sm_flags &XFS_SCRUB_IFLAG_REPAIR )@@ -599,7 +599,7 @@ xchk_trans_alloc(/* Set us up with a transaction and an empty context. */ int xchk_setup_fs ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,struct xfs_inode *ip) {uint resblks;@@ -611,7 +611,7 @@ xchk_setup_fs(/* Set us up with AG headers and btree cursors. */ int xchk_setup_ag_btree ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,struct xfs_inode *ip,bool force_log) {@@ -658,7 +658,7 @@ xchk_checkpoint_log(*/ int xchk_get_inode ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,struct xfs_inode *ip_in) {struct xfs_imap imap;@@ -722,7 +722,7 @@ xchk_get_inode(/* Set us up to scrub a file's contents. */ int xchk_setup_inode_contents ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,struct xfs_inode *ip,unsigned int resblks) {@@ -753,7 +753,7 @@ xchk_setup_inode_contents(*/ bool xchk_should_check_xref ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,int *error,struct xfs_btree_cur **curpp) {@@ -788,7 +788,7 @@ xchk_should_check_xref(/* Run the structure verifiers on in-memory buffers to detect bad memory. */ void xchk_buffer_recheck ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,struct xfs_buf *bp) {xfs_failaddr_t fa;@@ -814,7 +814,7 @@ xchk_buffer_recheck(*/ int xchk_metadata_inode_forks ( -struct xfs_scrub_context *sc) +struct xfs_scrub *sc) {__u32 smtype;bool shared;fs/xfs/scrub/common.h +44
-44@@ -13,7 +13,7 @@*/ static inline bool xchk_should_terminate ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,int *error) {if (fatal_signal_pending (current)) {@@ -24,109 +24,109 @@ xchk_should_terminate(return false; } -int xchk_trans_alloc (struct xfs_scrub_context *sc,uint resblks); -bool xchk_process_error (struct xfs_scrub_context *sc,xfs_agnumber_t agno, +int xchk_trans_alloc (struct xfs_scrub *sc,uint resblks); +bool xchk_process_error (struct xfs_scrub *sc,xfs_agnumber_t agno,xfs_agblock_t bno,int *error); -bool xchk_fblock_process_error (struct xfs_scrub_context *sc,int whichfork, +bool xchk_fblock_process_error (struct xfs_scrub *sc,int whichfork,xfs_fileoff_t offset,int *error); -bool xchk_xref_process_error (struct xfs_scrub_context *sc, +bool xchk_xref_process_error (struct xfs_scrub *sc,xfs_agnumber_t agno,xfs_agblock_t bno,int *error); -bool xchk_fblock_xref_process_error (struct xfs_scrub_context *sc, +bool xchk_fblock_xref_process_error (struct xfs_scrub *sc,int whichfork,xfs_fileoff_t offset,int *error); -void xchk_block_set_preen (struct xfs_scrub_context *sc, +void xchk_block_set_preen (struct xfs_scrub *sc,struct xfs_buf *bp); -void xchk_ino_set_preen (struct xfs_scrub_context *sc,xfs_ino_t ino); +void xchk_ino_set_preen (struct xfs_scrub *sc,xfs_ino_t ino); -void xchk_block_set_corrupt (struct xfs_scrub_context *sc, +void xchk_block_set_corrupt (struct xfs_scrub *sc,struct xfs_buf *bp); -void xchk_ino_set_corrupt (struct xfs_scrub_context *sc,xfs_ino_t ino); -void xchk_fblock_set_corrupt (struct xfs_scrub_context *sc,int whichfork, +void xchk_ino_set_corrupt (struct xfs_scrub *sc,xfs_ino_t ino); +void xchk_fblock_set_corrupt (struct xfs_scrub *sc,int whichfork,xfs_fileoff_t offset); -void xchk_block_xref_set_corrupt (struct xfs_scrub_context *sc, +void xchk_block_xref_set_corrupt (struct xfs_scrub *sc,struct xfs_buf *bp); -void xchk_ino_xref_set_corrupt (struct xfs_scrub_context *sc, +void xchk_ino_xref_set_corrupt (struct xfs_scrub *sc,xfs_ino_t ino); -void xchk_fblock_xref_set_corrupt (struct xfs_scrub_context *sc, +void xchk_fblock_xref_set_corrupt (struct xfs_scrub *sc,int whichfork,xfs_fileoff_t offset); -void xchk_ino_set_warning (struct xfs_scrub_context *sc,xfs_ino_t ino); -void xchk_fblock_set_warning (struct xfs_scrub_context *sc,int whichfork, +void xchk_ino_set_warning (struct xfs_scrub *sc,xfs_ino_t ino); +void xchk_fblock_set_warning (struct xfs_scrub *sc,int whichfork,xfs_fileoff_t offset); -void xchk_set_incomplete (struct xfs_scrub_context *sc); +void xchk_set_incomplete (struct xfs_scrub *sc);int xchk_checkpoint_log (struct xfs_mount *mp);/* Are we set up for a cross-referencing check? */ -bool xchk_should_check_xref (struct xfs_scrub_context *sc,int *error, +bool xchk_should_check_xref (struct xfs_scrub *sc,int *error,struct xfs_btree_cur **curpp);/* Setup functions */ -int xchk_setup_fs (struct xfs_scrub_context *sc,struct xfs_inode *ip); -int xchk_setup_ag_allocbt (struct xfs_scrub_context *sc, +int xchk_setup_fs (struct xfs_scrub *sc,struct xfs_inode *ip); +int xchk_setup_ag_allocbt (struct xfs_scrub *sc,struct xfs_inode *ip); -int xchk_setup_ag_iallocbt (struct xfs_scrub_context *sc, +int xchk_setup_ag_iallocbt (struct xfs_scrub *sc,struct xfs_inode *ip); -int xchk_setup_ag_rmapbt (struct xfs_scrub_context *sc, +int xchk_setup_ag_rmapbt (struct xfs_scrub *sc,struct xfs_inode *ip); -int xchk_setup_ag_refcountbt (struct xfs_scrub_context *sc, +int xchk_setup_ag_refcountbt (struct xfs_scrub *sc,struct xfs_inode *ip); -int xchk_setup_inode (struct xfs_scrub_context *sc, +int xchk_setup_inode (struct xfs_scrub *sc,struct xfs_inode *ip); -int xchk_setup_inode_bmap (struct xfs_scrub_context *sc, +int xchk_setup_inode_bmap (struct xfs_scrub *sc,struct xfs_inode *ip); -int xchk_setup_inode_bmap_data (struct xfs_scrub_context *sc, +int xchk_setup_inode_bmap_data (struct xfs_scrub *sc,struct xfs_inode *ip); -int xchk_setup_directory (struct xfs_scrub_context *sc, +int xchk_setup_directory (struct xfs_scrub *sc,struct xfs_inode *ip); -int xchk_setup_xattr (struct xfs_scrub_context *sc, +int xchk_setup_xattr (struct xfs_scrub *sc,struct xfs_inode *ip); -int xchk_setup_symlink (struct xfs_scrub_context *sc, +int xchk_setup_symlink (struct xfs_scrub *sc,struct xfs_inode *ip); -int xchk_setup_parent (struct xfs_scrub_context *sc, +int xchk_setup_parent (struct xfs_scrub *sc,struct xfs_inode *ip);#ifdef CONFIG_XFS_RT -int xchk_setup_rt (struct xfs_scrub_context *sc,struct xfs_inode *ip); +int xchk_setup_rt (struct xfs_scrub *sc,struct xfs_inode *ip);#else static inline int -xchk_setup_rt (struct xfs_scrub_context *sc,struct xfs_inode *ip) +xchk_setup_rt (struct xfs_scrub *sc,struct xfs_inode *ip) {return -ENOENT ; }#endif #ifdef CONFIG_XFS_QUOTA -int xchk_setup_quota (struct xfs_scrub_context *sc,struct xfs_inode *ip); +int xchk_setup_quota (struct xfs_scrub *sc,struct xfs_inode *ip);#else static inline int -xchk_setup_quota (struct xfs_scrub_context *sc,struct xfs_inode *ip) +xchk_setup_quota (struct xfs_scrub *sc,struct xfs_inode *ip) {return -ENOENT ; }#endif -void xchk_ag_free (struct xfs_scrub_context *sc,struct xchk_ag *sa); -int xchk_ag_init (struct xfs_scrub_context *sc,xfs_agnumber_t agno, +void xchk_ag_free (struct xfs_scrub *sc,struct xchk_ag *sa); +int xchk_ag_init (struct xfs_scrub *sc,xfs_agnumber_t agno,struct xchk_ag *sa);void xchk_perag_get (struct xfs_mount *mp,struct xchk_ag *sa); -int xchk_ag_read_headers (struct xfs_scrub_context *sc,xfs_agnumber_t agno, +int xchk_ag_read_headers (struct xfs_scrub *sc,xfs_agnumber_t agno,struct xfs_buf **agi,struct xfs_buf **agf,struct xfs_buf **agfl);void xchk_ag_btcur_free (struct xchk_ag *sa); -int xchk_ag_btcur_init (struct xfs_scrub_context *sc, +int xchk_ag_btcur_init (struct xfs_scrub *sc,struct xchk_ag *sa); -int xchk_count_rmap_ownedby_ag (struct xfs_scrub_context *sc, +int xchk_count_rmap_ownedby_ag (struct xfs_scrub *sc,struct xfs_btree_cur *cur,struct xfs_owner_info *oinfo,xfs_filblks_t *blocks); -int xchk_setup_ag_btree (struct xfs_scrub_context *sc, +int xchk_setup_ag_btree (struct xfs_scrub *sc,struct xfs_inode *ip,bool force_log); -int xchk_get_inode (struct xfs_scrub_context *sc,struct xfs_inode *ip_in); -int xchk_setup_inode_contents (struct xfs_scrub_context *sc, +int xchk_get_inode (struct xfs_scrub *sc,struct xfs_inode *ip_in); +int xchk_setup_inode_contents (struct xfs_scrub *sc,struct xfs_inode *ip,unsigned int resblks); -void xchk_buffer_recheck (struct xfs_scrub_context *sc,struct xfs_buf *bp); +void xchk_buffer_recheck (struct xfs_scrub *sc,struct xfs_buf *bp);/* * Don't bother cross-referencing if we already found corruption or cross @@ -138,7 +138,7 @@ static inline bool xchk_skip_xref(struct xfs_scrub_metadata *sm) XFS_SCRUB_OFLAG_XCORRUPT); } -int xchk_metadata_inode_forks (struct xfs_scrub_context *sc); +int xchk_metadata_inode_forks (struct xfs_scrub *sc);int xchk_ilock_inverted (struct xfs_inode *ip,uint lock_mode);#endif /* __XFS_SCRUB_COMMON_H__ */ fs/xfs/scrub/dabtree.c +3
-3@@ -40,7 +40,7 @@ xchk_da_process_error(int level, int *error) { - struct xfs_scrub_context *sc = ds->sc; + struct xfs_scrub *sc = ds->sc;if (*error ==0 )return true;@@ -75,7 +75,7 @@ xchk_da_set_corrupt( struct xchk_da_btree *ds, int level) { -struct xfs_scrub_context *sc = ds->sc; +struct xfs_scrub *sc = ds->sc; sc->sm->sm_flags |=XFS_SCRUB_OFLAG_CORRUPT ;@@ -474,7 +474,7 @@ xchk_da_btree_block(/* Visit all nodes and leaves of a da btree. */ int xchk_da_btree ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,int whichfork,xchk_da_btree_rec_fn scrub_fn,void *private)fs/xfs/scrub/dabtree.h +2
-2@@ -13,7 +13,7 @@ struct xchk_da_btree {xfs_dahash_t hashes[XFS_DA_NODE_MAXDEPTH ];int maxrecs[XFS_DA_NODE_MAXDEPTH ];struct xfs_da_state *state; -struct xfs_scrub_context *sc; +struct xfs_scrub *sc;void *private;/* @@ -39,7 +39,7 @@ void xchk_da_set_corrupt(struct xchk_da_btree *ds, int level);int xchk_da_btree_hash (struct xchk_da_btree *ds,int level,__be32 *hashp); -int xchk_da_btree (struct xfs_scrub_context *sc,int whichfork, +int xchk_da_btree (struct xfs_scrub *sc,int whichfork,xchk_da_btree_rec_fn scrub_fn,void *private);#endif /* __XFS_SCRUB_DABTREE_H__ */ fs/xfs/scrub/dir.c +9
-9@@ -32,7 +32,7 @@/* Set us up to scrub directories. */ int xchk_setup_directory ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,struct xfs_inode *ip) {return xchk_setup_inode_contents (sc, ip,0 );@@ -46,7 +46,7 @@ struct xchk_dir_ctx {/* VFS fill-directory iterator */ struct dir_context dir_iter; -struct xfs_scrub_context *sc; +struct xfs_scrub *sc; };/* Check that an inode's mode matches a given DT_ type. */ @@ -289,7 +289,7 @@ xchk_dir_rec(*/ STATIC voidxchk_directory_check_free_entry ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,xfs_dablk_t lblk,struct xfs_dir2_data_free *bf,struct xfs_dir2_data_unused *dup)@@ -314,7 +314,7 @@ xchk_directory_check_free_entry(/* Check free space info in a directory data block. */ STATIC intxchk_directory_data_bestfree ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,xfs_dablk_t lblk,bool is_block) {@@ -455,7 +455,7 @@ xchk_directory_data_bestfree(*/ STATIC voidxchk_directory_check_freesp ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,xfs_dablk_t lblk,struct xfs_buf *dbp,unsigned int len)@@ -474,7 +474,7 @@ xchk_directory_check_freesp(/* Check free space info in a directory leaf1 block. */ STATIC intxchk_directory_leaf1_bestfree ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,struct xfs_da_args *args,xfs_dablk_t lblk) {@@ -572,7 +572,7 @@ xchk_directory_leaf1_bestfree(/* Check free space info in a directory freespace block. */ STATIC intxchk_directory_free_bestfree ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,struct xfs_da_args *args,xfs_dablk_t lblk) {@@ -626,7 +626,7 @@ xchk_directory_free_bestfree(/* Check free space information in directories. */ STATIC intxchk_directory_blocks ( -struct xfs_scrub_context *sc) +struct xfs_scrub *sc) {struct xfs_bmbt_irec got;struct xfs_da_args args;@@ -770,7 +770,7 @@ xchk_directory_blocks(/* Scrub a whole directory. */ int xchk_directory ( -struct xfs_scrub_context *sc) +struct xfs_scrub *sc) {struct xchk_dir_ctx sdc = { .dir_iter.actor = xchk_dir_actor,fs/xfs/scrub/ialloc.c +11
-11@@ -36,7 +36,7 @@*/ int xchk_setup_ag_iallocbt ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,struct xfs_inode *ip) {return xchk_setup_ag_btree (sc, ip, sc->try_harder);@@ -51,7 +51,7 @@ xchk_setup_ag_iallocbt(*/ static inline void xchk_iallocbt_chunk_xref_other ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,struct xfs_inobt_rec_incore *irec,xfs_agino_t agino) {@@ -76,7 +76,7 @@ xchk_iallocbt_chunk_xref_other(/* Cross-reference with the other btrees. */ STATIC void xchk_iallocbt_chunk_xref( - struct xfs_scrub_context *sc, + struct xfs_scrub *sc, struct xfs_inobt_rec_incore *irec, xfs_agino_t agino, xfs_agblock_t agbno,@@ -363,7 +363,7 @@ xchk_iallocbt_rec(*/ STATIC voidxchk_iallocbt_xref_rmap_btreeblks ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,int which) {struct xfs_owner_info oinfo;@@ -403,7 +403,7 @@ xchk_iallocbt_xref_rmap_btreeblks(*/ STATIC voidxchk_iallocbt_xref_rmap_inodes ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,int which,xfs_filblks_t inode_blocks) {@@ -427,7 +427,7 @@ xchk_iallocbt_xref_rmap_inodes(/* Scrub the inode btrees for some AG. */ STATIC intxchk_iallocbt ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,xfs_btnum_t which) {struct xfs_btree_cur *cur;@@ -459,14 +459,14 @@ xchk_iallocbt(int xchk_inobt ( -struct xfs_scrub_context *sc) +struct xfs_scrub *sc) {return xchk_iallocbt (sc,XFS_BTNUM_INO ); }int xchk_finobt ( -struct xfs_scrub_context *sc) +struct xfs_scrub *sc) {return xchk_iallocbt (sc,XFS_BTNUM_FINO ); }@@ -474,7 +474,7 @@ xchk_finobt(/* See if an inode btree has (or doesn't have) an inode chunk record. */ static inline void xchk_xref_inode_check( - struct xfs_scrub_context *sc, + struct xfs_scrub *sc, xfs_agblock_t agbno, xfs_extlen_t len, struct xfs_btree_cur **icur,@@ -496,7 +496,7 @@ xchk_xref_inode_check(/* xref check that the extent is not covered by inodes */ void xchk_xref_is_not_inode_chunk ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,xfs_agblock_t agbno,xfs_extlen_t len) {@@ -507,7 +507,7 @@ xchk_xref_is_not_inode_chunk(/* xref check that the extent is covered by inodes */ void xchk_xref_is_inode_chunk ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,xfs_agblock_t agbno,xfs_extlen_t len) {fs/xfs/scrub/inode.c +11
-11@@ -38,7 +38,7 @@*/ int xchk_setup_inode ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,struct xfs_inode *ip) {int error;@@ -77,7 +77,7 @@ xchk_setup_inode(/* Validate di_extsize hint. */ STATIC void xchk_inode_extsize( - struct xfs_scrub_context *sc, + struct xfs_scrub *sc, struct xfs_dinode *dip, xfs_ino_t ino, uint16_t mode,@@ -99,7 +99,7 @@ xchk_inode_extsize(*/ STATIC void xchk_inode_cowextsize( - struct xfs_scrub_context *sc, + struct xfs_scrub *sc, struct xfs_dinode *dip, xfs_ino_t ino, uint16_t mode,@@ -118,7 +118,7 @@ xchk_inode_cowextsize(/* Make sure the di_flags make sense for the inode. */ STATIC void xchk_inode_flags( - struct xfs_scrub_context *sc, + struct xfs_scrub *sc, struct xfs_dinode *dip, xfs_ino_t ino, uint16_t mode,@@ -163,7 +163,7 @@ xchk_inode_flags(/* Make sure the di_flags2 make sense for the inode. */ STATIC void xchk_inode_flags2( - struct xfs_scrub_context *sc, + struct xfs_scrub *sc, struct xfs_dinode *dip, xfs_ino_t ino, uint16_t mode,@@ -206,7 +206,7 @@ xchk_inode_flags2(/* Scrub all the ondisk inode fields. */ STATIC voidxchk_dinode ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,struct xfs_dinode *dip,xfs_ino_t ino) {@@ -426,7 +426,7 @@ xchk_dinode(*/ static void xchk_inode_xref_finobt ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,xfs_ino_t ino) {struct xfs_inobt_rec_incore rec;@@ -469,7 +469,7 @@ xchk_inode_xref_finobt(/* Cross reference the inode fields with the forks. */ STATIC voidxchk_inode_xref_bmap ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,struct xfs_dinode *dip) {xfs_extnum_t nextents;@@ -503,7 +503,7 @@ xchk_inode_xref_bmap(/* Cross-reference with the other btrees. */ STATIC voidxchk_inode_xref ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,xfs_ino_t ino,struct xfs_dinode *dip) {@@ -540,7 +540,7 @@ xchk_inode_xref(*/ static void xchk_inode_check_reflink_iflag ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,xfs_ino_t ino) {struct xfs_mount *mp = sc->mp;@@ -564,7 +564,7 @@ xchk_inode_check_reflink_iflag(/* Scrub an inode. */ int xchk_inode ( -struct xfs_scrub_context *sc) +struct xfs_scrub *sc) {struct xfs_dinode di;int error =0 ;fs/xfs/scrub/parent.c +4
-4@@ -28,7 +28,7 @@/* Set us up to scrub parents. */ int xchk_setup_parent ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,struct xfs_inode *ip) {return xchk_setup_inode_contents (sc, ip,0 );@@ -65,7 +65,7 @@ xchk_parent_actor(/* Count the number of dentries in the parent dir that point to this inode. */ STATIC intxchk_parent_count_parent_dentries ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,struct xfs_inode *parent,xfs_nlink_t *nlink) {@@ -121,7 +121,7 @@ xchk_parent_count_parent_dentries(*/ STATIC intxchk_parent_validate ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,xfs_ino_t dnum,bool *try_again) {@@ -255,7 +255,7 @@ xchk_parent_validate(/* Scrub a parent pointer. */ int xchk_parent ( -struct xfs_scrub_context *sc) +struct xfs_scrub *sc) {struct xfs_mount *mp = sc->mp;xfs_ino_t dnum;fs/xfs/scrub/quota.c +6
-6@@ -31,7 +31,7 @@/* Convert a scrub type code to a DQ flag, or return 0 if error. */ static inline uint xchk_quota_to_dqtype ( -struct xfs_scrub_context *sc) +struct xfs_scrub *sc) {switch (sc->sm->sm_type) {case XFS_SCRUB_TYPE_UQUOTA :@@ -48,7 +48,7 @@ xchk_quota_to_dqtype(/* Set us up to scrub a quota. */ int xchk_setup_quota ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,struct xfs_inode *ip) {uint dqtype;@@ -76,7 +76,7 @@ xchk_setup_quota(/* Quotas. */ struct xchk_quota_info { -struct xfs_scrub_context *sc; +struct xfs_scrub *sc;xfs_dqid_t last_id; };@@ -88,7 +88,7 @@ xchk_quota_item( void *priv) {struct xchk_quota_info *sqi = priv; -struct xfs_scrub_context *sc = sqi->sc; +struct xfs_scrub *sc = sqi->sc;struct xfs_mount *mp = sc->mp;struct xfs_disk_dquot *d = &dq->q_core;struct xfs_quotainfo *qi = mp->m_quotainfo;@@ -195,7 +195,7 @@ xchk_quota_item(/* Check the quota's data fork. */ STATIC intxchk_quota_data_fork ( -struct xfs_scrub_context *sc) +struct xfs_scrub *sc) {struct xfs_bmbt_irec irec = {0 };struct xfs_iext_cursor icur;@@ -234,7 +234,7 @@ xchk_quota_data_fork(/* Scrub all of a quota type's items. */ int xchk_quota ( -struct xfs_scrub_context *sc) +struct xfs_scrub *sc) {struct xchk_quota_info sqi;struct xfs_mount *mp = sc->mp;fs/xfs/scrub/refcount.c +8
-8@@ -29,7 +29,7 @@*/ int xchk_setup_ag_refcountbt ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,struct xfs_inode *ip) {return xchk_setup_ag_btree (sc, ip, false);@@ -79,7 +79,7 @@ struct xchk_refcnt_frag { };struct xchk_refcnt_check { -struct xfs_scrub_context *sc; +struct xfs_scrub *sc;struct list_head fragments;/* refcount extent we're examining */ @@ -278,7 +278,7 @@ xchk_refcountbt_process_rmap_fragments(/* Use the rmap entries covering this extent to verify the refcount. */ STATIC voidxchk_refcountbt_xref_rmap ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,xfs_agblock_t bno,xfs_extlen_t len,xfs_nlink_t refcount)@@ -325,7 +325,7 @@ xchk_refcountbt_xref_rmap(/* Cross-reference with the other btrees. */ STATIC voidxchk_refcountbt_xref ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,xfs_agblock_t agbno,xfs_extlen_t len,xfs_nlink_t refcount)@@ -382,7 +382,7 @@ xchk_refcountbt_rec(/* Make sure we have as many refc blocks as the rmap says. */ STATIC voidxchk_refcount_xref_rmap ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,struct xfs_owner_info *oinfo,xfs_filblks_t cow_blocks) {@@ -417,7 +417,7 @@ xchk_refcount_xref_rmap(/* Scrub the refcount btree for some AG. */ int xchk_refcountbt ( -struct xfs_scrub_context *sc) +struct xfs_scrub *sc) {struct xfs_owner_info oinfo;xfs_agblock_t cow_blocks =0 ;@@ -437,7 +437,7 @@ xchk_refcountbt(/* xref check that a cow staging extent is marked in the refcountbt. */ void xchk_xref_is_cow_staging ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,xfs_agblock_t agbno,xfs_extlen_t len) {@@ -483,7 +483,7 @@ xchk_xref_is_cow_staging(*/ void xchk_xref_is_not_shared ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,xfs_agblock_t agbno,xfs_extlen_t len) {fs/xfs/scrub/repair.c +18
-18@@ -43,7 +43,7 @@int xrep_attempt (struct xfs_inode *ip, -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,bool *fixed) {int error =0 ;@@ -106,7 +106,7 @@ xrep_failure(*/ int xrep_probe ( -struct xfs_scrub_context *sc) +struct xfs_scrub *sc) {int error =0 ;@@ -122,7 +122,7 @@ xrep_probe(*/ int xrep_roll_ag_trans ( -struct xfs_scrub_context *sc) +struct xfs_scrub *sc) {int error;@@ -179,7 +179,7 @@ xrep_ag_has_space(*/ xfs_extlen_t xrep_calc_ag_resblks ( -struct xfs_scrub_context *sc) +struct xfs_scrub *sc) {struct xfs_mount *mp = sc->mp;struct xfs_scrub_metadata *sm = sc->sm;@@ -279,7 +279,7 @@ xrep_calc_ag_resblks(/* Allocate a block in an AG. */ int xrep_alloc_ag_block ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,struct xfs_owner_info *oinfo,xfs_fsblock_t *fsbno,enum xfs_ag_resv_type resv)@@ -330,7 +330,7 @@ xrep_alloc_ag_block(/* Initialize a new AG btree root block with zero entries. */ int xrep_init_btblock( - struct xfs_scrub_context *sc, + struct xfs_scrub *sc, xfs_fsblock_t fsb, struct xfs_buf **bpp, xfs_btnum_t btnum,@@ -385,7 +385,7 @@ xrep_init_btblock(/* Collect a dead btree extent for later disposal. */ int xrep_collect_btree_extent ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,struct xrep_extent_list *exlist,xfs_fsblock_t fsbno,xfs_extlen_t len)@@ -415,7 +415,7 @@ xrep_collect_btree_extent(*/ void xrep_cancel_btree_extents ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,struct xrep_extent_list *exlist) {struct xrep_extent *rex;@@ -463,7 +463,7 @@ xrep_btree_extent_cmp(#define RIGHT_ALIGNED (1 << 1)int xrep_subtract_extents ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,struct xrep_extent_list *exlist,struct xrep_extent_list *sublist) {@@ -620,7 +620,7 @@ xrep_subtract_extents(*/ int xrep_invalidate_blocks ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,struct xrep_extent_list *exlist) {struct xrep_extent *rex;@@ -658,7 +658,7 @@ xrep_invalidate_blocks(/* Ensure the freelist is the correct size. */ int xrep_fix_freelist ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,bool can_shrink) {struct xfs_alloc_arg args = {0 };@@ -678,7 +678,7 @@ xrep_fix_freelist(*/ STATIC intxrep_put_freelist ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,xfs_agblock_t agbno) {struct xfs_owner_info oinfo;@@ -714,7 +714,7 @@ xrep_put_freelist(/* Dispose of a single metadata block. */ STATIC intxrep_dispose_btree_block ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,xfs_fsblock_t fsbno,struct xfs_owner_info *oinfo,enum xfs_ag_resv_type resv)@@ -788,7 +788,7 @@ xrep_dispose_btree_block(/* Dispose of btree blocks from an old per-AG btree. */ int xrep_reap_btree_extents ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,struct xrep_extent_list *exlist,struct xfs_owner_info *oinfo,enum xfs_ag_resv_type type)@@ -851,7 +851,7 @@ xrep_reap_btree_extents(*/ struct xrep_findroot { -struct xfs_scrub_context *sc; +struct xfs_scrub *sc;struct xfs_buf *agfl_bp;struct xfs_agf *agf;struct xrep_find_ag_btree *btree_info;@@ -981,7 +981,7 @@ xrep_findroot_rmap(/* Find the roots of the per-AG btrees described in btree_info. */ int xrep_find_ag_btree_roots ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,struct xfs_buf *agf_bp,struct xrep_find_ag_btree *btree_info,struct xfs_buf *agfl_bp)@@ -1016,7 +1016,7 @@ xrep_find_ag_btree_roots(/* Force a quotacheck the next time we mount. */ void xrep_force_quotacheck ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,uint dqtype) {uint flag;@@ -1044,7 +1044,7 @@ xrep_force_quotacheck(*/ int xrep_ino_dqattach ( -struct xfs_scrub_context *sc) +struct xfs_scrub *sc) {int error;fs/xfs/scrub/repair.h +19
-19@@ -6,7 +6,7 @@#ifndef __XFS_SCRUB_REPAIR_H__#define __XFS_SCRUB_REPAIR_H__ -static inline int xrep_notsupported (struct xfs_scrub_context *sc) +static inline int xrep_notsupported (struct xfs_scrub *sc) {return -EOPNOTSUPP ; }@@ -15,17 +15,17 @@ static inline int xrep_notsupported(struct xfs_scrub_context *sc)/* Repair helpers */ -int xrep_attempt (struct xfs_inode *ip,struct xfs_scrub_context *sc, +int xrep_attempt (struct xfs_inode *ip,struct xfs_scrub *sc,bool *fixed);void xrep_failure (struct xfs_mount *mp); -int xrep_roll_ag_trans (struct xfs_scrub_context *sc); +int xrep_roll_ag_trans (struct xfs_scrub *sc);bool xrep_ag_has_space (struct xfs_perag *pag,xfs_extlen_t nr_blocks,enum xfs_ag_resv_type type); -xfs_extlen_t xrep_calc_ag_resblks (struct xfs_scrub_context *sc); -int xrep_alloc_ag_block (struct xfs_scrub_context *sc, +xfs_extlen_t xrep_calc_ag_resblks (struct xfs_scrub *sc); +int xrep_alloc_ag_block (struct xfs_scrub *sc,struct xfs_owner_info *oinfo,xfs_fsblock_t *fsbno,enum xfs_ag_resv_type resv); -int xrep_init_btblock (struct xfs_scrub_context *sc,xfs_fsblock_t fsb, +int xrep_init_btblock (struct xfs_scrub *sc,xfs_fsblock_t fsb,struct xfs_buf **bpp,xfs_btnum_t btnum,const struct xfs_buf_ops *ops);@@ -48,18 +48,18 @@ xrep_init_extent_list(#define for_each_xrep_extent_safe (rbe, n, exlist) \ list_for_each_entry_safe((rbe), (n), &(exlist)->list, list) -int xrep_collect_btree_extent (struct xfs_scrub_context *sc, +int xrep_collect_btree_extent (struct xfs_scrub *sc,struct xrep_extent_list *btlist,xfs_fsblock_t fsbno,xfs_extlen_t len); -void xrep_cancel_btree_extents (struct xfs_scrub_context *sc, +void xrep_cancel_btree_extents (struct xfs_scrub *sc,struct xrep_extent_list *btlist); -int xrep_subtract_extents (struct xfs_scrub_context *sc, +int xrep_subtract_extents (struct xfs_scrub *sc,struct xrep_extent_list *exlist,struct xrep_extent_list *sublist); -int xrep_fix_freelist (struct xfs_scrub_context *sc,bool can_shrink); -int xrep_invalidate_blocks (struct xfs_scrub_context *sc, +int xrep_fix_freelist (struct xfs_scrub *sc,bool can_shrink); +int xrep_invalidate_blocks (struct xfs_scrub *sc,struct xrep_extent_list *btlist); -int xrep_reap_btree_extents (struct xfs_scrub_context *sc, +int xrep_reap_btree_extents (struct xfs_scrub *sc,struct xrep_extent_list *exlist,struct xfs_owner_info *oinfo,enum xfs_ag_resv_type type);@@ -78,23 +78,23 @@ struct xrep_find_ag_btree { unsigned int height; }; -int xrep_find_ag_btree_roots (struct xfs_scrub_context *sc, +int xrep_find_ag_btree_roots (struct xfs_scrub *sc,struct xfs_buf *agf_bp,struct xrep_find_ag_btree *btree_info,struct xfs_buf *agfl_bp); -void xrep_force_quotacheck (struct xfs_scrub_context *sc,uint dqtype); -int xrep_ino_dqattach (struct xfs_scrub_context *sc); +void xrep_force_quotacheck (struct xfs_scrub *sc,uint dqtype); +int xrep_ino_dqattach (struct xfs_scrub *sc);/* Metadata repairers */ -int xrep_probe (struct xfs_scrub_context *sc); -int xrep_superblock (struct xfs_scrub_context *sc); +int xrep_probe (struct xfs_scrub *sc); +int xrep_superblock (struct xfs_scrub *sc);#else static inline int xrep_attempt (struct xfs_inode *ip, -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,bool *fixed) {return -EOPNOTSUPP ;@@ -104,7 +104,7 @@ static inline void xrep_failure(struct xfs_mount *mp) {}static inline xfs_extlen_t xrep_calc_ag_resblks ( -struct xfs_scrub_context *sc) +struct xfs_scrub *sc) {ASSERT (!(sc->sm->sm_flags &XFS_SCRUB_IFLAG_REPAIR ));return 0 ;fs/xfs/scrub/rmap.c +8
-8@@ -30,7 +30,7 @@*/ int xchk_setup_ag_rmapbt ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,struct xfs_inode *ip) {return xchk_setup_ag_btree (sc, ip, false);@@ -41,7 +41,7 @@ xchk_setup_ag_rmapbt(/* Cross-reference a rmap against the refcount btree. */ STATIC voidxchk_rmapbt_xref_refc ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,struct xfs_rmap_irec *irec) {xfs_agblock_t fbno;@@ -72,7 +72,7 @@ xchk_rmapbt_xref_refc(/* Cross-reference with the other btrees. */ STATIC voidxchk_rmapbt_xref ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,struct xfs_rmap_irec *irec) {xfs_agblock_t agbno = irec->rm_startblock;@@ -172,7 +172,7 @@ xchk_rmapbt_rec(/* Scrub the rmap btree for some AG. */ int xchk_rmapbt ( -struct xfs_scrub_context *sc) +struct xfs_scrub *sc) {struct xfs_owner_info oinfo;@@ -184,7 +184,7 @@ xchk_rmapbt(/* xref check that the extent is owned by a given owner */ static inline void xchk_xref_check_owner( - struct xfs_scrub_context *sc, + struct xfs_scrub *sc, xfs_agblock_t bno, xfs_extlen_t len, struct xfs_owner_info *oinfo,@@ -207,7 +207,7 @@ xchk_xref_check_owner(/* xref check that the extent is owned by a given owner */ void xchk_xref_is_owned_by ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,xfs_agblock_t bno,xfs_extlen_t len,struct xfs_owner_info *oinfo)@@ -218,7 +218,7 @@ xchk_xref_is_owned_by(/* xref check that the extent is not owned by a given owner */ void xchk_xref_is_not_owned_by ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,xfs_agblock_t bno,xfs_extlen_t len,struct xfs_owner_info *oinfo)@@ -229,7 +229,7 @@ xchk_xref_is_not_owned_by(/* xref check that the extent has no reverse mapping at all */ void xchk_xref_has_no_owner ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,xfs_agblock_t bno,xfs_extlen_t len) {fs/xfs/scrub/rtbitmap.c +5
-5@@ -26,7 +26,7 @@/* Set us up with the realtime metadata locked. */ int xchk_setup_rt ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,struct xfs_inode *ip) {int error;@@ -51,7 +51,7 @@ xchk_rtbitmap_rec(struct xfs_rtalloc_rec *rec, void *priv) { - struct xfs_scrub_context *sc = priv; + struct xfs_scrub *sc = priv;xfs_rtblock_t startblock;xfs_rtblock_t blockcount;@@ -68,7 +68,7 @@ xchk_rtbitmap_rec(/* Scrub the realtime bitmap. */ int xchk_rtbitmap ( -struct xfs_scrub_context *sc) +struct xfs_scrub *sc) {int error;@@ -88,7 +88,7 @@ xchk_rtbitmap(/* Scrub the realtime summary. */ int xchk_rtsummary ( -struct xfs_scrub_context *sc) +struct xfs_scrub *sc) {struct xfs_inode *rsumip = sc->mp->m_rsumip;struct xfs_inode *old_ip = sc->ip;@@ -125,7 +125,7 @@ xchk_rtsummary(/* xref check that the extent is not free in the rtbitmap */ void xchk_xref_is_used_rt_space ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,xfs_rtblock_t fsbno,xfs_extlen_t len) {fs/xfs/scrub/scrub.c +5
-5@@ -151,7 +151,7 @@*/ static int xchk_probe ( -struct xfs_scrub_context *sc) +struct xfs_scrub *sc) {int error =0 ;@@ -166,7 +166,7 @@ xchk_probe(/* Free all the resources and finish the transactions. */ STATIC intxchk_teardown ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,struct xfs_inode *ip_in,int error) {@@ -447,7 +447,7 @@ xchk_validate_inputs( }#ifdef CONFIG_XFS_ONLINE_REPAIR -static inline void xchk_postmortem (struct xfs_scrub_context *sc) +static inline void xchk_postmortem (struct xfs_scrub *sc) {/* * Userspace asked us to repair something, we repaired it, rescanned @@ -460,7 +460,7 @@ static inline void xchk_postmortem(struct xfs_scrub_context *sc) xrep_failure(sc->mp); }#else -static inline void xchk_postmortem (struct xfs_scrub_context *sc) +static inline void xchk_postmortem (struct xfs_scrub *sc) {/* * Userspace asked us to scrub something, it's broken, and we have no @@ -479,7 +479,7 @@ xfs_scrub_metadata(struct xfs_inode *ip, struct xfs_scrub_metadata *sm) { - struct xfs_scrub_context sc; + struct xfs_scrub sc;struct xfs_mount *mp = ip->i_mount;bool try_harder = false;bool already_fixed = false;fs/xfs/scrub/scrub.h +39
-39@@ -6,7 +6,7 @@#ifndef __XFS_SCRUB_SCRUB_H__#define __XFS_SCRUB_SCRUB_H__ -struct xfs_scrub_context ; +struct xfs_scrub ;/* Type info and names for the scrub types. */ enum xchk_type {@@ -18,14 +18,14 @@ enum xchk_type {struct xchk_meta_ops {/* Acquire whatever resources are needed for the operation. */ -int (*setup)(struct xfs_scrub_context *, +int (*setup)(struct xfs_scrub *,struct xfs_inode *);/* Examine metadata for errors. */ -int (*scrub)(struct xfs_scrub_context *); +int (*scrub)(struct xfs_scrub *);/* Repair or optimize the metadata. */ -int (*repair)(struct xfs_scrub_context *); +int (*repair)(struct xfs_scrub *);/* Decide if we even have this piece of metadata. */ bool (*has)(struct xfs_sb *);@@ -53,7 +53,7 @@ struct xchk_ag {struct xfs_btree_cur *refc_cur; }; -struct xfs_scrub_context { +struct xfs_scrub {/* General scrub state. */ struct xfs_mount *mp;struct xfs_scrub_metadata *sm;@@ -70,71 +70,71 @@ struct xfs_scrub_context { };/* Metadata scrubbers */ -int xchk_tester (struct xfs_scrub_context *sc); -int xchk_superblock (struct xfs_scrub_context *sc); -int xchk_agf (struct xfs_scrub_context *sc); -int xchk_agfl (struct xfs_scrub_context *sc); -int xchk_agi (struct xfs_scrub_context *sc); -int xchk_bnobt (struct xfs_scrub_context *sc); -int xchk_cntbt (struct xfs_scrub_context *sc); -int xchk_inobt (struct xfs_scrub_context *sc); -int xchk_finobt (struct xfs_scrub_context *sc); -int xchk_rmapbt (struct xfs_scrub_context *sc); -int xchk_refcountbt (struct xfs_scrub_context *sc); -int xchk_inode (struct xfs_scrub_context *sc); -int xchk_bmap_data (struct xfs_scrub_context *sc); -int xchk_bmap_attr (struct xfs_scrub_context *sc); -int xchk_bmap_cow (struct xfs_scrub_context *sc); -int xchk_directory (struct xfs_scrub_context *sc); -int xchk_xattr (struct xfs_scrub_context *sc); -int xchk_symlink (struct xfs_scrub_context *sc); -int xchk_parent (struct xfs_scrub_context *sc); +int xchk_tester (struct xfs_scrub *sc); +int xchk_superblock (struct xfs_scrub *sc); +int xchk_agf (struct xfs_scrub *sc); +int xchk_agfl (struct xfs_scrub *sc); +int xchk_agi (struct xfs_scrub *sc); +int xchk_bnobt (struct xfs_scrub *sc); +int xchk_cntbt (struct xfs_scrub *sc); +int xchk_inobt (struct xfs_scrub *sc); +int xchk_finobt (struct xfs_scrub *sc); +int xchk_rmapbt (struct xfs_scrub *sc); +int xchk_refcountbt (struct xfs_scrub *sc); +int xchk_inode (struct xfs_scrub *sc); +int xchk_bmap_data (struct xfs_scrub *sc); +int xchk_bmap_attr (struct xfs_scrub *sc); +int xchk_bmap_cow (struct xfs_scrub *sc); +int xchk_directory (struct xfs_scrub *sc); +int xchk_xattr (struct xfs_scrub *sc); +int xchk_symlink (struct xfs_scrub *sc); +int xchk_parent (struct xfs_scrub *sc);#ifdef CONFIG_XFS_RT -int xchk_rtbitmap (struct xfs_scrub_context *sc); -int xchk_rtsummary (struct xfs_scrub_context *sc); +int xchk_rtbitmap (struct xfs_scrub *sc); +int xchk_rtsummary (struct xfs_scrub *sc);#else static inline int -xchk_rtbitmap (struct xfs_scrub_context *sc) +xchk_rtbitmap (struct xfs_scrub *sc) {return -ENOENT ; }static inline int -xchk_rtsummary (struct xfs_scrub_context *sc) +xchk_rtsummary (struct xfs_scrub *sc) {return -ENOENT ; }#endif #ifdef CONFIG_XFS_QUOTA -int xchk_quota (struct xfs_scrub_context *sc); +int xchk_quota (struct xfs_scrub *sc);#else static inline int -xchk_quota (struct xfs_scrub_context *sc) +xchk_quota (struct xfs_scrub *sc) {return -ENOENT ; }#endif /* cross-referencing helpers */ -void xchk_xref_is_used_space (struct xfs_scrub_context *sc, +void xchk_xref_is_used_space (struct xfs_scrub *sc,xfs_agblock_t agbno,xfs_extlen_t len); -void xchk_xref_is_not_inode_chunk (struct xfs_scrub_context *sc, +void xchk_xref_is_not_inode_chunk (struct xfs_scrub *sc,xfs_agblock_t agbno,xfs_extlen_t len); -void xchk_xref_is_inode_chunk (struct xfs_scrub_context *sc, +void xchk_xref_is_inode_chunk (struct xfs_scrub *sc,xfs_agblock_t agbno,xfs_extlen_t len); -void xchk_xref_is_owned_by (struct xfs_scrub_context *sc, +void xchk_xref_is_owned_by (struct xfs_scrub *sc,xfs_agblock_t agbno,xfs_extlen_t len,struct xfs_owner_info *oinfo); -void xchk_xref_is_not_owned_by (struct xfs_scrub_context *sc, +void xchk_xref_is_not_owned_by (struct xfs_scrub *sc,xfs_agblock_t agbno,xfs_extlen_t len,struct xfs_owner_info *oinfo); -void xchk_xref_has_no_owner (struct xfs_scrub_context *sc, +void xchk_xref_has_no_owner (struct xfs_scrub *sc,xfs_agblock_t agbno,xfs_extlen_t len); -void xchk_xref_is_cow_staging (struct xfs_scrub_context *sc, +void xchk_xref_is_cow_staging (struct xfs_scrub *sc,xfs_agblock_t bno,xfs_extlen_t len); -void xchk_xref_is_not_shared (struct xfs_scrub_context *sc, +void xchk_xref_is_not_shared (struct xfs_scrub *sc,xfs_agblock_t bno,xfs_extlen_t len);#ifdef CONFIG_XFS_RT -void xchk_xref_is_used_rt_space (struct xfs_scrub_context *sc, +void xchk_xref_is_used_rt_space (struct xfs_scrub *sc,xfs_rtblock_t rtbno,xfs_extlen_t len);#else # define xchk_xref_is_used_rt_space (sc, rtbno, len) do { } while (0)fs/xfs/scrub/symlink.c +2
-2@@ -26,7 +26,7 @@/* Set us up to scrub a symbolic link. */ int xchk_setup_symlink ( -struct xfs_scrub_context *sc, +struct xfs_scrub *sc,struct xfs_inode *ip) {/* Allocate the buffer without the inode lock held. */ @@ -41,7 +41,7 @@ xchk_setup_symlink(int xchk_symlink ( -struct xfs_scrub_context *sc) +struct xfs_scrub *sc) {struct xfs_inode *ip = sc->ip;struct xfs_ifork *ifp;fs/xfs/scrub/trace.h +16
-17@@ -59,7 +59,7 @@ DEFINE_SCRUB_EVENT(xrep_attempt);DEFINE_SCRUB_EVENT (xrep_done); TRACE_EVENT(xchk_op_error, - TP_PROTO(struct xfs_scrub_context *sc, xfs_agnumber_t agno, + TP_PROTO(struct xfs_scrub *sc, xfs_agnumber_t agno, xfs_agblock_t bno, int error, void *ret_ip), TP_ARGS(sc, agno, bno, error, ret_ip), TP_STRUCT__entry(@@ -88,7 +88,7 @@ TRACE_EVENT(xchk_op_error, ); TRACE_EVENT(xchk_file_op_error, - TP_PROTO(struct xfs_scrub_context *sc, int whichfork, + TP_PROTO(struct xfs_scrub *sc, int whichfork, xfs_fileoff_t offset, int error, void *ret_ip), TP_ARGS(sc, whichfork, offset, error, ret_ip), TP_STRUCT__entry(@@ -120,7 +120,7 @@ TRACE_EVENT(xchk_file_op_error, ); DECLARE_EVENT_CLASS(xchk_block_error_class, - TP_PROTO(struct xfs_scrub_context *sc, xfs_daddr_t daddr, void *ret_ip), + TP_PROTO(struct xfs_scrub *sc, xfs_daddr_t daddr, void *ret_ip), TP_ARGS(sc, daddr, ret_ip), TP_STRUCT__entry( __field(dev_t, dev)@@ -154,7 +154,7 @@ DECLARE_EVENT_CLASS(xchk_block_error_class,#define DEFINE_SCRUB_BLOCK_ERROR_EVENT (name) \ DEFINE_EVENT(xchk_block_error_class, name, \ - TP_PROTO(struct xfs_scrub_context *sc, xfs_daddr_t daddr, \ + TP_PROTO(struct xfs_scrub *sc, xfs_daddr_t daddr, \ void *ret_ip), \ TP_ARGS(sc, daddr, ret_ip))@@ -162,7 +162,7 @@ DEFINE_SCRUB_BLOCK_ERROR_EVENT(xchk_block_error);DEFINE_SCRUB_BLOCK_ERROR_EVENT (xchk_block_preen); DECLARE_EVENT_CLASS(xchk_ino_error_class, - TP_PROTO(struct xfs_scrub_context *sc, xfs_ino_t ino, void *ret_ip), + TP_PROTO(struct xfs_scrub *sc, xfs_ino_t ino, void *ret_ip), TP_ARGS(sc, ino, ret_ip), TP_STRUCT__entry( __field(dev_t, dev)@@ -185,7 +185,7 @@ DECLARE_EVENT_CLASS(xchk_ino_error_class,#define DEFINE_SCRUB_INO_ERROR_EVENT (name) \ DEFINE_EVENT(xchk_ino_error_class, name, \ - TP_PROTO(struct xfs_scrub_context *sc, xfs_ino_t ino, \ + TP_PROTO(struct xfs_scrub *sc, xfs_ino_t ino, \ void *ret_ip), \ TP_ARGS(sc, ino, ret_ip))@@ -194,7 +194,7 @@ DEFINE_SCRUB_INO_ERROR_EVENT(xchk_ino_preen);DEFINE_SCRUB_INO_ERROR_EVENT (xchk_ino_warning); DECLARE_EVENT_CLASS(xchk_fblock_error_class, - TP_PROTO(struct xfs_scrub_context *sc, int whichfork, + TP_PROTO(struct xfs_scrub *sc, int whichfork, xfs_fileoff_t offset, void *ret_ip), TP_ARGS(sc, whichfork, offset, ret_ip), TP_STRUCT__entry(@@ -224,7 +224,7 @@ DECLARE_EVENT_CLASS(xchk_fblock_error_class,#define DEFINE_SCRUB_FBLOCK_ERROR_EVENT (name) \ DEFINE_EVENT(xchk_fblock_error_class, name, \ - TP_PROTO(struct xfs_scrub_context *sc, int whichfork, \ + TP_PROTO(struct xfs_scrub *sc, int whichfork, \ xfs_fileoff_t offset, void *ret_ip), \ TP_ARGS(sc, whichfork, offset, ret_ip))@@ -232,7 +232,7 @@ DEFINE_SCRUB_FBLOCK_ERROR_EVENT(xchk_fblock_error);DEFINE_SCRUB_FBLOCK_ERROR_EVENT (xchk_fblock_warning); TRACE_EVENT(xchk_incomplete, - TP_PROTO(struct xfs_scrub_context *sc, void *ret_ip), + TP_PROTO(struct xfs_scrub *sc, void *ret_ip), TP_ARGS(sc, ret_ip), TP_STRUCT__entry( __field(dev_t, dev)@@ -251,7 +251,7 @@ TRACE_EVENT(xchk_incomplete, ); TRACE_EVENT(xchk_btree_op_error, - TP_PROTO(struct xfs_scrub_context *sc, struct xfs_btree_cur *cur, + TP_PROTO(struct xfs_scrub *sc, struct xfs_btree_cur *cur, int level, int error, void *ret_ip), TP_ARGS(sc, cur, level, error, ret_ip), TP_STRUCT__entry(@@ -291,7 +291,7 @@ TRACE_EVENT(xchk_btree_op_error, ); TRACE_EVENT(xchk_ifork_btree_op_error, - TP_PROTO(struct xfs_scrub_context *sc, struct xfs_btree_cur *cur, + TP_PROTO(struct xfs_scrub *sc, struct xfs_btree_cur *cur, int level, int error, void *ret_ip), TP_ARGS(sc, cur, level, error, ret_ip), TP_STRUCT__entry(@@ -336,7 +336,7 @@ TRACE_EVENT(xchk_ifork_btree_op_error, ); TRACE_EVENT(xchk_btree_error, - TP_PROTO(struct xfs_scrub_context *sc, struct xfs_btree_cur *cur, + TP_PROTO(struct xfs_scrub *sc, struct xfs_btree_cur *cur, int level, void *ret_ip), TP_ARGS(sc, cur, level, ret_ip), TP_STRUCT__entry(@@ -372,7 +372,7 @@ TRACE_EVENT(xchk_btree_error, ); TRACE_EVENT(xchk_ifork_btree_error, - TP_PROTO(struct xfs_scrub_context *sc, struct xfs_btree_cur *cur, + TP_PROTO(struct xfs_scrub *sc, struct xfs_btree_cur *cur, int level, void *ret_ip), TP_ARGS(sc, cur, level, ret_ip), TP_STRUCT__entry(@@ -414,7 +414,7 @@ TRACE_EVENT(xchk_ifork_btree_error, ); DECLARE_EVENT_CLASS(xchk_sbtree_class, - TP_PROTO(struct xfs_scrub_context *sc, struct xfs_btree_cur *cur, + TP_PROTO(struct xfs_scrub *sc, struct xfs_btree_cur *cur, int level), TP_ARGS(sc, cur, level), TP_STRUCT__entry(@@ -451,7 +451,7 @@ DECLARE_EVENT_CLASS(xchk_sbtree_class, )#define DEFINE_SCRUB_SBTREE_EVENT (name) \ DEFINE_EVENT(xchk_sbtree_class, name, \ - TP_PROTO(struct xfs_scrub_context *sc, struct xfs_btree_cur *cur, \ + TP_PROTO(struct xfs_scrub *sc, struct xfs_btree_cur *cur, \ int level), \ TP_ARGS(sc, cur, level))@@ -459,7 +459,7 @@ DEFINE_SCRUB_SBTREE_EVENT(xchk_btree_rec);DEFINE_SCRUB_SBTREE_EVENT (xchk_btree_key); TRACE_EVENT(xchk_xref_error, - TP_PROTO(struct xfs_scrub_context *sc, int error, void *ret_ip), + TP_PROTO(struct xfs_scrub *sc, int error, void *ret_ip), TP_ARGS(sc, error, ret_ip), TP_STRUCT__entry( __field(dev_t, dev) --To unsubscribe from this list: send the line "unsubscribe linux-xfs" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
PATCH 8/8 xfs: fix indentation and other whitespace problems in scrub/repair
In reply to Darrick J. WongFrom: Darrick J. Wong <[email protected]>
Now that we've shortened everything, fix up all the indentation and whitespace problems. There are no functional changes.
--- fs/xfs/scrub/agheader.c | 172 ++++++++++++++++++++-------------------- fs/xfs/scrub/agheader_repair.c | 8 +- fs/xfs/scrub/alloc.c | 48 ++++++----- fs/xfs/scrub/attr.c | 20 ++--- fs/xfs/scrub/bmap.c | 150 +++++++++++++++++------------------ fs/xfs/scrub/btree.c | 172 ++++++++++++++++++++-------------------- fs/xfs/scrub/btree.h | 25 +++--- fs/xfs/scrub/common.c | 158 ++++++++++++++++++------------------- fs/xfs/scrub/common.h | 23 ++--- fs/xfs/scrub/dabtree.c | 56 +++++++------ fs/xfs/scrub/dabtree.h | 21 ++--- fs/xfs/scrub/dir.c | 88 ++++++++++---------- fs/xfs/scrub/ialloc.c | 58 +++++++------ fs/xfs/scrub/inode.c | 102 ++++++++++++------------ fs/xfs/scrub/parent.c | 60 +++++++------- fs/xfs/scrub/quota.c | 68 ++++++++-------- fs/xfs/scrub/refcount.c | 70 ++++++++-------- fs/xfs/scrub/repair.c | 148 +++++++++++++++++----------------- fs/xfs/scrub/repair.h | 28 +++---- fs/xfs/scrub/rmap.c | 78 +++++++++--------- fs/xfs/scrub/rtbitmap.c | 38 ++++----- fs/xfs/scrub/scrub.c | 8 +- fs/xfs/scrub/scrub.h | 62 +++++++------- fs/xfs/scrub/symlink.c | 10 +- fs/xfs/scrub/trace.c | 4 - 25 files changed, 832 insertions(+), 843 deletions(-)
fs/xfs/scrub/agheader.c +86 -86
@@ -30,13 +30,13 @@ STATIC voidxchk_superblock_xref (struct xfs_scrub *sc, -struct xfs_buf *bp) +struct xfs_buf *bp) { -struct xfs_owner_info oinfo; -struct xfs_mount *mp = sc->mp; -xfs_agnumber_t agno = sc->sm->sm_agno; -xfs_agblock_t agbno; -int error; +struct xfs_owner_info oinfo; +struct xfs_mount *mp = sc->mp; +xfs_agnumber_t agno = sc->sm->sm_agno; +xfs_agblock_t agbno; +int error;if (sc->sm->sm_flags &XFS_SCRUB_OFLAG_CORRUPT )return ;
@@ -68,14 +68,14 @@ intxchk_superblock ( struct xfs_scrub *sc) { -struct xfs_mount *mp = sc->mp; -struct xfs_buf *bp; -struct xfs_dsb *sb; -xfs_agnumber_t agno; -uint32_t v2_ok; -__be32 features_mask; -int error; -__be16 vernum_mask; +struct xfs_mount *mp = sc->mp; +struct xfs_buf *bp; +struct xfs_dsb *sb; +xfs_agnumber_t agno; +uint32_t v2_ok; +__be32 features_mask; +int error; +__be16 vernum_mask; agno = sc->sm->sm_agno;if (agno ==0 )
@@ -367,9 +367,9 @@ static inline voidxchk_agf_xref_freeblks ( struct xfs_scrub *sc) { -struct xfs_agf *agf =XFS_BUF_TO_AGF (sc->sa.agf_bp); -xfs_extlen_t blocks =0 ; -int error; +struct xfs_agf *agf =XFS_BUF_TO_AGF (sc->sa.agf_bp); +xfs_extlen_t blocks =0 ; +int error;if (!sc->sa.bno_cur)return ;
@@ -387,11 +387,11 @@ static inline voidxchk_agf_xref_cntbt ( struct xfs_scrub *sc) { -struct xfs_agf *agf =XFS_BUF_TO_AGF (sc->sa.agf_bp); -xfs_agblock_t agbno; -xfs_extlen_t blocks; -int have; -int error; +struct xfs_agf *agf =XFS_BUF_TO_AGF (sc->sa.agf_bp); +xfs_agblock_t agbno; +xfs_extlen_t blocks; +int have; +int error;if (!sc->sa.cnt_cur)return ;
@@ -419,11 +419,11 @@ STATIC voidxchk_agf_xref_btreeblks ( struct xfs_scrub *sc) { -struct xfs_agf *agf =XFS_BUF_TO_AGF (sc->sa.agf_bp); -struct xfs_mount *mp = sc->mp; -xfs_agblock_t blocks; -xfs_agblock_t btreeblks; -int error; +struct xfs_agf *agf =XFS_BUF_TO_AGF (sc->sa.agf_bp); +struct xfs_mount *mp = sc->mp; +xfs_agblock_t blocks; +xfs_agblock_t btreeblks; +int error;/* Check agf_rmap_blocks; set up for agf_btreeblks check */ if (sc->sa.rmap_cur) {
@@ -465,9 +465,9 @@ static inline voidxchk_agf_xref_refcblks ( struct xfs_scrub *sc) { -struct xfs_agf *agf =XFS_BUF_TO_AGF (sc->sa.agf_bp); -xfs_agblock_t blocks; -int error; +struct xfs_agf *agf =XFS_BUF_TO_AGF (sc->sa.agf_bp); +xfs_agblock_t blocks; +int error;if (!sc->sa.refc_cur)return ;
@@ -484,10 +484,10 @@ STATIC voidxchk_agf_xref ( struct xfs_scrub *sc) { -struct xfs_owner_info oinfo; -struct xfs_mount *mp = sc->mp; -xfs_agblock_t agbno; -int error; +struct xfs_owner_info oinfo; +struct xfs_mount *mp = sc->mp; +xfs_agblock_t agbno; +int error;if (sc->sm->sm_flags &XFS_SCRUB_OFLAG_CORRUPT )return ;
@@ -516,17 +516,17 @@ intxchk_agf ( struct xfs_scrub *sc) { -struct xfs_mount *mp = sc->mp; -struct xfs_agf *agf; -xfs_agnumber_t agno; -xfs_agblock_t agbno; -xfs_agblock_t eoag; -xfs_agblock_t agfl_first; -xfs_agblock_t agfl_last; -xfs_agblock_t agfl_count; -xfs_agblock_t fl_count; -int level; -int error =0 ; +struct xfs_mount *mp = sc->mp; +struct xfs_agf *agf; +xfs_agnumber_t agno; +xfs_agblock_t agbno; +xfs_agblock_t eoag; +xfs_agblock_t agfl_first; +xfs_agblock_t agfl_last; +xfs_agblock_t agfl_count; +xfs_agblock_t fl_count; +int level; +int error =0 ; agno = sc->sa.agno = sc->sm->sm_agno; error = xchk_ag_read_headers(sc, agno, &sc->sa.agi_bp,
@@ -598,10 +598,10 @@ xchk_agf(/* AGFL */ struct xchk_agfl_info { -struct xfs_owner_info oinfo; -unsigned int sz_entries; -unsigned int nr_entries; -xfs_agblock_t *entries; +struct xfs_owner_info oinfo; +unsigned int sz_entries; +unsigned int nr_entries; +xfs_agblock_t *entries;struct xfs_scrub *sc; };
@@ -609,8 +609,8 @@ struct xchk_agfl_info { STATIC voidxchk_agfl_block_xref (struct xfs_scrub *sc, -xfs_agblock_t agbno, -struct xfs_owner_info *oinfo) +xfs_agblock_t agbno, +struct xfs_owner_info *oinfo) {if (sc->sm->sm_flags &XFS_SCRUB_OFLAG_CORRUPT )return ;
@@ -624,13 +624,13 @@ xchk_agfl_block_xref(/* Scrub an AGFL block. */ STATIC intxchk_agfl_block ( -struct xfs_mount *mp, -xfs_agblock_t agbno, -void *priv) +struct xfs_mount *mp, +xfs_agblock_t agbno, +void *priv) { -struct xchk_agfl_info *sai = priv; +struct xchk_agfl_info *sai = priv;struct xfs_scrub *sc = sai->sc; -xfs_agnumber_t agno = sc->sa.agno; +xfs_agnumber_t agno = sc->sa.agno;if (xfs_verify_agbno (mp, agno, agbno) && sai->nr_entries < sai->sz_entries)
@@ -662,10 +662,10 @@ STATIC voidxchk_agfl_xref ( struct xfs_scrub *sc) { -struct xfs_owner_info oinfo; -struct xfs_mount *mp = sc->mp; -xfs_agblock_t agbno; -int error; +struct xfs_owner_info oinfo; +struct xfs_mount *mp = sc->mp; +xfs_agblock_t agbno; +int error;if (sc->sm->sm_flags &XFS_SCRUB_OFLAG_CORRUPT )return ;
@@ -693,12 +693,12 @@ intxchk_agfl ( struct xfs_scrub *sc) { -struct xchk_agfl_info sai; -struct xfs_agf *agf; -xfs_agnumber_t agno; -unsigned int agflcount; -unsigned int i; -int error; +struct xchk_agfl_info sai; +struct xfs_agf *agf; +xfs_agnumber_t agno; +unsigned int agflcount; +unsigned int i; +int error; agno = sc->sa.agno = sc->sm->sm_agno; error = xchk_ag_read_headers(sc, agno, &sc->sa.agi_bp,
@@ -770,10 +770,10 @@ static inline voidxchk_agi_xref_icounts ( struct xfs_scrub *sc) { -struct xfs_agi *agi =XFS_BUF_TO_AGI (sc->sa.agi_bp); -xfs_agino_t icount; -xfs_agino_t freecount; -int error; +struct xfs_agi *agi =XFS_BUF_TO_AGI (sc->sa.agi_bp); +xfs_agino_t icount; +xfs_agino_t freecount; +int error;if (!sc->sa.ino_cur)return ;
@@ -791,10 +791,10 @@ STATIC voidxchk_agi_xref ( struct xfs_scrub *sc) { -struct xfs_owner_info oinfo; -struct xfs_mount *mp = sc->mp; -xfs_agblock_t agbno; -int error; +struct xfs_owner_info oinfo; +struct xfs_mount *mp = sc->mp; +xfs_agblock_t agbno; +int error;if (sc->sm->sm_flags &XFS_SCRUB_OFLAG_CORRUPT )return ;
@@ -820,18 +820,18 @@ intxchk_agi ( struct xfs_scrub *sc) { -struct xfs_mount *mp = sc->mp; -struct xfs_agi *agi; -xfs_agnumber_t agno; -xfs_agblock_t agbno; -xfs_agblock_t eoag; -xfs_agino_t agino; -xfs_agino_t first_agino; -xfs_agino_t last_agino; -xfs_agino_t icount; -int i; -int level; -int error =0 ; +struct xfs_mount *mp = sc->mp; +struct xfs_agi *agi; +xfs_agnumber_t agno; +xfs_agblock_t agbno; +xfs_agblock_t eoag; +xfs_agino_t agino; +xfs_agino_t first_agino; +xfs_agino_t last_agino; +xfs_agino_t icount; +int i; +int level; +int error =0 ; agno = sc->sa.agno = sc->sm->sm_agno; error = xchk_ag_read_headers(sc, agno, &sc->sa.agi_bp,
fs/xfs/scrub/agheader_repair.c +4 -4
@@ -31,10 +31,10 @@ intxrep_superblock ( struct xfs_scrub *sc) { -struct xfs_mount *mp = sc->mp; -struct xfs_buf *bp; -xfs_agnumber_t agno; -int error; +struct xfs_mount *mp = sc->mp; +struct xfs_buf *bp; +xfs_agnumber_t agno; +int error;/* Don't try to repair AG 0's sb; let xfs_repair deal with it. */ agno = sc->sm->sm_agno;
fs/xfs/scrub/alloc.c +24 -24
88 lines not on this page · raw message
fs/xfs/scrub/attr.c +10 -10
@@ -34,9 +34,9 @@int xchk_setup_xattr (struct xfs_scrub *sc, -struct xfs_inode *ip) +struct xfs_inode *ip) { -size_t sz; +size_t sz;/* * Allocate the buffer without the inode lock held. We need enough
@@ -57,7 +57,7 @@ xchk_setup_xattr(struct xchk_xattr {struct xfs_attr_list_context context; -struct xfs_scrub *sc; +struct xfs_scrub *sc; };/*
@@ -128,12 +128,12 @@ xchk_xattr_listent( STATIC boolxchk_xattr_set_map (struct xfs_scrub *sc, -unsigned long *map, -unsigned int start, -unsigned int len) +unsigned long *map, +unsigned int start, +unsigned int len) { -unsigned int mapsize = sc->mp->m_attr_geo->blksize; -bool ret = true; +unsigned int mapsize = sc->mp->m_attr_geo->blksize; +bool ret = true;if (start >= mapsize)return false;
@@ -155,7 +155,7 @@ xchk_xattr_set_map(*/ STATIC boolxchk_xattr_check_freemap ( -struct xfs_scrub *sc, +struct xfs_scrub *sc,unsigned long *map,struct xfs_attr3_icleaf_hdr *leafhdr) {
@@ -405,7 +405,7 @@ xchk_xattr_rec(/* Scrub the extended attribute metadata. */ int xchk_xattr ( -struct xfs_scrub *sc) +struct xfs_scrub *sc) {struct xchk_xattr sx;struct attrlist_cursor_kern cursor = {0 };
fs/xfs/scrub/bmap.c +75 -75
242 lines not on this page · raw message
fs/xfs/scrub/btree.c +86 -86
264 lines not on this page · raw message
fs/xfs/scrub/btree.h +12 -13
@@ -14,8 +14,7 @@ bool xchk_btree_process_error(struct xfs_scrub *sc,/* Check for btree xref operation errors. */ bool xchk_btree_xref_process_error (struct xfs_scrub *sc, -struct xfs_btree_cur *cur,int level, -int *error); +struct xfs_btree_cur *cur,int level,int *error);/* Check for btree corruption. */ void xchk_btree_set_corrupt(struct xfs_scrub *sc,
@@ -33,20 +32,20 @@ typedef int (*xchk_btree_rec_fn)(struct xchk_btree {/* caller-provided scrub state */ struct xfs_scrub *sc; -struct xfs_btree_cur *cur; -xchk_btree_rec_fn scrub_rec; -struct xfs_owner_info *oinfo; -void *private; +struct xfs_btree_cur *cur; +xchk_btree_rec_fn scrub_rec; +struct xfs_owner_info *oinfo; +void *private;/* internal scrub state */ -union xfs_btree_rec lastrec; -bool firstrec; -union xfs_btree_key lastkey[XFS_BTREE_MAXLEVELS ]; -bool firstkey[XFS_BTREE_MAXLEVELS ]; -struct list_head to_check; +union xfs_btree_rec lastrec; +bool firstrec; +union xfs_btree_key lastkey[XFS_BTREE_MAXLEVELS ]; +bool firstkey[XFS_BTREE_MAXLEVELS ]; +struct list_head to_check; };int xchk_btree (struct xfs_scrub *sc,struct xfs_btree_cur *cur, -xchk_btree_rec_fn scrub_fn, -struct xfs_owner_info *oinfo,void *private); +xchk_btree_rec_fn scrub_fn,struct xfs_owner_info *oinfo, +void *private);#endif /* __XFS_SCRUB_BTREE_H__ */
fs/xfs/scrub/common.c +79 -79
354 lines not on this page · raw message
fs/xfs/scrub/common.h +10 -13
@@ -108,24 +108,21 @@ xchk_setup_quota(struct xfs_scrub *sc, struct xfs_inode *ip)void xchk_ag_free (struct xfs_scrub *sc,struct xchk_ag *sa);int xchk_ag_init (struct xfs_scrub *sc,xfs_agnumber_t agno, -struct xchk_ag *sa); +struct xchk_ag *sa);void xchk_perag_get (struct xfs_mount *mp,struct xchk_ag *sa);int xchk_ag_read_headers (struct xfs_scrub *sc,xfs_agnumber_t agno, -struct xfs_buf **agi,struct xfs_buf **agf, -struct xfs_buf **agfl); +struct xfs_buf **agi,struct xfs_buf **agf, +struct xfs_buf **agfl);void xchk_ag_btcur_free (struct xchk_ag *sa); -int xchk_ag_btcur_init (struct xfs_scrub *sc, -struct xchk_ag *sa); -int xchk_count_rmap_ownedby_ag (struct xfs_scrub *sc, -struct xfs_btree_cur *cur, -struct xfs_owner_info *oinfo, -xfs_filblks_t *blocks); +int xchk_ag_btcur_init (struct xfs_scrub *sc,struct xchk_ag *sa); +int xchk_count_rmap_ownedby_ag (struct xfs_scrub *sc,struct xfs_btree_cur *cur, +struct xfs_owner_info *oinfo,xfs_filblks_t *blocks); -int xchk_setup_ag_btree (struct xfs_scrub *sc, -struct xfs_inode *ip,bool force_log); +int xchk_setup_ag_btree (struct xfs_scrub *sc,struct xfs_inode *ip, +bool force_log);int xchk_get_inode (struct xfs_scrub *sc,struct xfs_inode *ip_in); -int xchk_setup_inode_contents (struct xfs_scrub *sc, -struct xfs_inode *ip,unsigned int resblks); +int xchk_setup_inode_contents (struct xfs_scrub *sc,struct xfs_inode *ip, +unsigned int resblks);void xchk_buffer_recheck (struct xfs_scrub *sc,struct xfs_buf *bp);/*
fs/xfs/scrub/dabtree.c +28 -28
102 lines not on this page · raw message
fs/xfs/scrub/dabtree.h +10 -11
@@ -9,12 +9,12 @@/* dir/attr btree */ struct xchk_da_btree { -struct xfs_da_args dargs; -xfs_dahash_t hashes[XFS_DA_NODE_MAXDEPTH ]; -int maxrecs[XFS_DA_NODE_MAXDEPTH ]; -struct xfs_da_state *state; +struct xfs_da_args dargs; +xfs_dahash_t hashes[XFS_DA_NODE_MAXDEPTH ]; +int maxrecs[XFS_DA_NODE_MAXDEPTH ]; +struct xfs_da_state *state;struct xfs_scrub *sc; -void *private; +void *private;/* * Lowest and highest directory block address in which we expect
@@ -22,10 +22,10 @@ struct xchk_da_btree {* (presumably) means between LEAF_OFFSET and FREE_OFFSET; for * attributes there is no limit. */ -xfs_dablk_t lowest; -xfs_dablk_t highest; +xfs_dablk_t lowest; +xfs_dablk_t highest; -int tree_level; +int tree_level; }; typedef int (*xchk_da_btree_rec_fn)(struct xchk_da_btree *ds,
@@ -37,9 +37,8 @@ bool xchk_da_process_error(struct xchk_da_btree *ds, int level, int *error);/* Check for da btree corruption. */ void xchk_da_set_corrupt (struct xchk_da_btree *ds,int level); -int xchk_da_btree_hash (struct xchk_da_btree *ds,int level, -__be32 *hashp); +int xchk_da_btree_hash (struct xchk_da_btree *ds,int level,__be32 *hashp);int xchk_da_btree (struct xfs_scrub *sc,int whichfork, -xchk_da_btree_rec_fn scrub_fn,void *private); +xchk_da_btree_rec_fn scrub_fn,void *private);#endif /* __XFS_SCRUB_DABTREE_H__ */
fs/xfs/scrub/dir.c +44 -44
160 lines not on this page · raw message
fs/xfs/scrub/ialloc.c +29 -29
116 lines not on this page · raw message
fs/xfs/scrub/inode.c +51 -51
177 lines not on this page · raw message
fs/xfs/scrub/parent.c +30 -30
103 lines not on this page · raw message
fs/xfs/scrub/quota.c +34 -34
100 lines not on this page · raw message
fs/xfs/scrub/refcount.c +35 -35
135 lines not on this page · raw message
fs/xfs/scrub/repair.c +74 -74
294 lines not on this page · raw message
fs/xfs/scrub/repair.h +12 -16
@@ -15,33 +15,31 @@ static inline int xrep_notsupported(struct xfs_scrub *sc)/* Repair helpers */ -int xrep_attempt (struct xfs_inode *ip,struct xfs_scrub *sc, -bool *fixed); +int xrep_attempt (struct xfs_inode *ip,struct xfs_scrub *sc,bool *fixed);void xrep_failure (struct xfs_mount *mp);int xrep_roll_ag_trans (struct xfs_scrub *sc);bool xrep_ag_has_space (struct xfs_perag *pag,xfs_extlen_t nr_blocks,enum xfs_ag_resv_type type);xfs_extlen_t xrep_calc_ag_resblks (struct xfs_scrub *sc); -int xrep_alloc_ag_block (struct xfs_scrub *sc, -struct xfs_owner_info *oinfo,xfs_fsblock_t *fsbno, -enum xfs_ag_resv_type resv); +int xrep_alloc_ag_block (struct xfs_scrub *sc,struct xfs_owner_info *oinfo, +xfs_fsblock_t *fsbno,enum xfs_ag_resv_type resv);int xrep_init_btblock (struct xfs_scrub *sc,xfs_fsblock_t fsb,struct xfs_buf **bpp,xfs_btnum_t btnum,const struct xfs_buf_ops *ops);struct xrep_extent { -struct list_head list; -xfs_fsblock_t fsbno; -xfs_extlen_t len; +struct list_head list; +xfs_fsblock_t fsbno; +xfs_extlen_t len; };struct xrep_extent_list { -struct list_head list; +struct list_head list; };static inline void xrep_init_extent_list ( -struct xrep_extent_list *exlist) +struct xrep_extent_list *exlist) {INIT_LIST_HEAD (&exlist->list); }
@@ -78,10 +76,8 @@ struct xrep_find_ag_btree {unsigned int height; }; -int xrep_find_ag_btree_roots (struct xfs_scrub *sc, -struct xfs_buf *agf_bp, -struct xrep_find_ag_btree *btree_info, -struct xfs_buf *agfl_bp); +int xrep_find_ag_btree_roots (struct xfs_scrub *sc,struct xfs_buf *agf_bp, +struct xrep_find_ag_btree *btree_info,struct xfs_buf *agfl_bp);void xrep_force_quotacheck (struct xfs_scrub *sc,uint dqtype);int xrep_ino_dqattach (struct xfs_scrub *sc);
@@ -93,9 +89,9 @@ int xrep_superblock(struct xfs_scrub *sc);#else static inline int xrep_attempt ( -struct xfs_inode *ip, +struct xfs_inode *ip,struct xfs_scrub *sc, -bool *fixed) +bool *fixed) {return -EOPNOTSUPP ; }
fs/xfs/scrub/rmap.c +39 -39
137 lines not on this page · raw message
fs/xfs/scrub/rtbitmap.c +19 -19
@@ -27,9 +27,9 @@int xchk_setup_rt (struct xfs_scrub *sc, -struct xfs_inode *ip) +struct xfs_inode *ip) { -int error; +int error; error =xchk_setup_fs (sc, ip);if (error)
@@ -47,13 +47,13 @@ xchk_setup_rt(/* Scrub a free extent record from the realtime bitmap. */ STATIC intxchk_rtbitmap_rec ( -struct xfs_trans *tp, -struct xfs_rtalloc_rec *rec, -void *priv) +struct xfs_trans *tp, +struct xfs_rtalloc_rec *rec, +void *priv) {struct xfs_scrub *sc = priv; -xfs_rtblock_t startblock; -xfs_rtblock_t blockcount; +xfs_rtblock_t startblock; +xfs_rtblock_t blockcount; startblock = rec->ar_startext * tp->t_mountp->m_sb.sb_rextsize; blockcount = rec->ar_extcount * tp->t_mountp->m_sb.sb_rextsize;
@@ -70,7 +70,7 @@ intxchk_rtbitmap ( struct xfs_scrub *sc) { -int error; +int error;/* Invoke the fork scrubber. */ error =xchk_metadata_inode_forks (sc);
@@ -90,10 +90,10 @@ intxchk_rtsummary ( struct xfs_scrub *sc) { -struct xfs_inode *rsumip = sc->mp->m_rsumip; -struct xfs_inode *old_ip = sc->ip; -uint old_ilock_flags = sc->ilock_flags; -int error =0 ; +struct xfs_inode *rsumip = sc->mp->m_rsumip; +struct xfs_inode *old_ip = sc->ip; +uint old_ilock_flags = sc->ilock_flags; +int error =0 ;/* * We ILOCK'd the rt bitmap ip in the setup routine, now lock the
@@ -126,14 +126,14 @@ xchk_rtsummary(void xchk_xref_is_used_rt_space (struct xfs_scrub *sc, -xfs_rtblock_t fsbno, -xfs_extlen_t len) +xfs_rtblock_t fsbno, +xfs_extlen_t len) { -xfs_rtblock_t startext; -xfs_rtblock_t endext; -xfs_rtblock_t extcount; -bool is_free; -int error; +xfs_rtblock_t startext; +xfs_rtblock_t endext; +xfs_rtblock_t extcount; +bool is_free; +int error;if (xchk_skip_xref (sc->sm))return ;
fs/xfs/scrub/scrub.c +4 -4
@@ -153,7 +153,7 @@ static intxchk_probe ( struct xfs_scrub *sc) { -int error =0 ; +int error =0 ;if (xchk_should_terminate (sc, &error))return error;
@@ -167,8 +167,8 @@ xchk_probe( STATIC intxchk_teardown (struct xfs_scrub *sc, -struct xfs_inode *ip_in, -int error) +struct xfs_inode *ip_in, +int error) {xchk_ag_free (sc, &sc->sa);if (sc->tp) {
@@ -479,7 +479,7 @@ xfs_scrub_metadata(struct xfs_inode *ip, struct xfs_scrub_metadata *sm) { - struct xfs_scrub sc; + struct xfs_scrub sc;struct xfs_mount *mp = ip->i_mount;bool try_harder = false;bool already_fixed = false;
fs/xfs/scrub/scrub.h +30 -32
85 lines not on this page · raw message
fs/xfs/scrub/symlink.c +5 -5
@@ -27,7 +27,7 @@int xchk_setup_symlink (struct xfs_scrub *sc, -struct xfs_inode *ip) +struct xfs_inode *ip) {/* Allocate the buffer without the inode lock held. */ sc->buf =kmem_zalloc_large (XFS_SYMLINK_MAXLEN +1 ,KM_SLEEP );
@@ -43,10 +43,10 @@ intxchk_symlink ( struct xfs_scrub *sc) { -struct xfs_inode *ip = sc->ip; -struct xfs_ifork *ifp; -loff_t len; -int error =0 ; +struct xfs_inode *ip = sc->ip; +struct xfs_ifork *ifp; +loff_t len; +int error =0 ;if (!S_ISLNK (VFS_I (ip)->i_mode))return -ENOENT ;
fs/xfs/scrub/trace.c +2 -2
@@ -23,8 +23,8 @@/* Figure out which block the btree cursor was pointing to. */ static inline xfs_fsblock_t xchk_btree_cur_fsbno ( -struct xfs_btree_cur *cur, -int level) +struct xfs_btree_cur *cur, +int level)
Lines of this file are not shown. View the raw message.
The rest of this diff is not shown. View the raw message.
Part of the diff is not shown here. View the raw message.