forked from Minki/linux
libxfs: synchronize dinode_verify with userspace
The userspace version of _dinode_verify takes a raw inode number instead of an inode itself. Since neither version actually needs the inode, port the changes to the kernel. This will also reduce the libxfs diff noise. Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com> Reviewed-by: Dave Chinner <dchinner@redhat.com> Signed-off-by: Dave Chinner <david@fromorbit.com>
This commit is contained in:
parent
755c7bf5dd
commit
420fbeb4bf
@ -383,7 +383,7 @@ xfs_log_dinode_to_disk(
|
||||
static bool
|
||||
xfs_dinode_verify(
|
||||
struct xfs_mount *mp,
|
||||
struct xfs_inode *ip,
|
||||
xfs_ino_t ino,
|
||||
struct xfs_dinode *dip)
|
||||
{
|
||||
uint16_t flags;
|
||||
@ -401,7 +401,7 @@ xfs_dinode_verify(
|
||||
if (!xfs_verify_cksum((char *)dip, mp->m_sb.sb_inodesize,
|
||||
XFS_DINODE_CRC_OFF))
|
||||
return false;
|
||||
if (be64_to_cpu(dip->di_ino) != ip->i_ino)
|
||||
if (be64_to_cpu(dip->di_ino) != ino)
|
||||
return false;
|
||||
if (!uuid_equal(&dip->di_uuid, &mp->m_sb.sb_meta_uuid))
|
||||
return false;
|
||||
@ -493,7 +493,7 @@ xfs_iread(
|
||||
return error;
|
||||
|
||||
/* even unallocated inodes are verified */
|
||||
if (!xfs_dinode_verify(mp, ip, dip)) {
|
||||
if (!xfs_dinode_verify(mp, ip->i_ino, dip)) {
|
||||
xfs_alert(mp, "%s: validation failed for inode %lld failed",
|
||||
__func__, ip->i_ino);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user