Darrick J. Wong ca659e086f xfs: rework the inline directory verifiers
commit 78420281a9d74014af7616958806c3aba056319e upstream.

The inline directory verifiers should be called on the inode fork data,
which means after iformat_local on the read side, and prior to
ifork_flush on the write side.  This makes the fork verifier more
consistent with the way buffer verifiers work -- i.e. they will operate
on the memory buffer that the code will be reading and writing directly.

Furthermore, revise the verifier function to return -EFSCORRUPTED so
that we don't flood the logs with corruption messages and assert
notices.  This has been a particular problem with xfs/348, which
triggers the XFS_WANT_CORRUPTED_RETURN assertions, which halts the
kernel when CONFIG_XFS_DEBUG=y.  Disk corruption isn't supposed to do
that, at least not in a verifier.

Reviewed-by: Brian Foster <bfoster@redhat.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-06-07 12:07:50 +02:00
..
2017-05-14 14:00:13 +02:00
2016-10-15 12:09:13 -07:00
2016-05-20 17:58:30 -07:00
2017-03-12 06:41:47 +01:00
2016-10-30 13:09:42 -04:00
2016-09-27 21:20:53 -04:00
2016-09-27 18:47:38 -04:00
2016-06-21 09:23:11 +10:00
2016-10-13 20:28:22 -07:00
2016-07-26 16:19:19 -07:00