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