mbox series

[0/4] xfs: refactor corruption checking and reporting

Message ID 157309570855.45542.14663613458519550414.stgit@magnolia (mailing list archive)
Headers show
Series xfs: refactor corruption checking and reporting | expand

Message

Darrick J. Wong Nov. 7, 2019, 3:01 a.m. UTC
Hi all,

In this second series, we refactor the code that XFS uses to determine
that it is dealing with corrupt metadata and report that to userspace.

The first patch replaces the XFS_WANT_CORRUPT* macros with open-coded
versions because it's a little strange that a thing that looks like a
simple function call actually has series effects on code flow.

The second patch cleans up all the "if (bad) { XFS_ERROR_REPORT..." code
by combining that into a single XFS_IS_CORRUPT macro that does all that
logging.  This cleans up the error handling code blocks some more.

Patch three converts other metadata corruption checks to use the new
XFS_IS_CORRUPT macro.

Patch four converts some EIO-on-corruption returns that were missed in
an earlier cleanup patch.

If you're going to start using this mess, you probably ought to just
pull from my git trees, which are linked below.

This has been lightly tested with fstests.  Enjoy!
Comments and questions are, as always, welcome.

--D

kernel git tree:
https://git.kernel.org/cgit/linux/kernel/git/djwong/xfs-linux.git/log/?h=refactor-corruption-checks

xfsprogs git tree:
https://git.kernel.org/cgit/linux/kernel/git/djwong/xfsprogs-dev.git/log/?h=refactor-corruption-checks