xfs: always log corruption errors
Make sure we log something to dmesg whenever we return -EFSCORRUPTED up the call stack. Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com> Reviewed-by: Carlos Maiolino <cmaiolino@redhat.com> Reviewed-by: Christoph Hellwig <hch@lst.de>
This commit is contained in:
@@ -20,6 +20,7 @@
|
||||
#include "xfs_symlink.h"
|
||||
#include "xfs_dir2.h"
|
||||
#include "xfs_iomap.h"
|
||||
#include "xfs_error.h"
|
||||
|
||||
#include <linux/xattr.h>
|
||||
#include <linux/posix_acl.h>
|
||||
@@ -470,17 +471,20 @@ xfs_vn_get_link_inline(
|
||||
struct inode *inode,
|
||||
struct delayed_call *done)
|
||||
{
|
||||
struct xfs_inode *ip = XFS_I(inode);
|
||||
char *link;
|
||||
|
||||
ASSERT(XFS_I(inode)->i_df.if_flags & XFS_IFINLINE);
|
||||
ASSERT(ip->i_df.if_flags & XFS_IFINLINE);
|
||||
|
||||
/*
|
||||
* The VFS crashes on a NULL pointer, so return -EFSCORRUPTED if
|
||||
* if_data is junk.
|
||||
*/
|
||||
link = XFS_I(inode)->i_df.if_u1.if_data;
|
||||
if (!link)
|
||||
link = ip->i_df.if_u1.if_data;
|
||||
if (!link) {
|
||||
XFS_ERROR_REPORT(__func__, XFS_ERRLEVEL_LOW, ip->i_mount);
|
||||
return ERR_PTR(-EFSCORRUPTED);
|
||||
}
|
||||
return link;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user