summaryrefslogtreecommitdiffstats
path: root/fs/Makefile
diff options
context:
space:
mode:
authorDarrick J. Wong <darrick.wong@oracle.com>2018-01-08 19:49:04 +0100
committerDarrick J. Wong <darrick.wong@oracle.com>2018-01-08 19:49:04 +0100
commitd658e72b4a09c0eb65c13fc5c15bc6e6d93ed8bc (patch)
treefcc2b1c8080527cc3c041bae00376b98bbddea59 /fs/Makefile
parentxfs: always grab transaction when scrubbing inode (diff)
downloadlinux-d658e72b4a09c0eb65c13fc5c15bc6e6d93ed8bc.tar.xz
linux-d658e72b4a09c0eb65c13fc5c15bc6e6d93ed8bc.zip
xfs: distinguish between corrupt inode and invalid inum in xfs_scrub_get_inode
In xfs_scrub_get_inode, we don't do a good enough job distinguishing EINVAL returns from xfs_iget w/ IGET_UNTRUSTED -- this can happen if the passed in inode number is invalid (past eofs, inobt says it isn't an inode) or if the inum is actually valid but the inode buffer fails verifier. In the first case we still want to return ENOENT, but in the second case we want to capture the corruption error. Therefore, if xfs_iget returns EINVAL, try the raw imap lookup. If that succeeds, we conclude it's a corruption error, otherwise we just bounce out to userspace. Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com> Reviewed-by: Dave Chinner <dchinner@redhat.com>
Diffstat (limited to 'fs/Makefile')
0 files changed, 0 insertions, 0 deletions