xfs: fix inverted return from xfs_btree_sblock_verify_crc libxfs-4.20-sync
authorEric Sandeen <sandeen@redhat.com>
Wed, 12 Dec 2018 17:36:08 +0000 (11:36 -0600)
committerEric Sandeen <sandeen@redhat.com>
Wed, 12 Dec 2018 17:36:08 +0000 (11:36 -0600)
Source kernel commit: 7d048df4e9b05ba89b74d062df59498aa81f3785

xfs_btree_sblock_verify_crc is a bool so should not be returning
a failaddr_t; worse, if xfs_log_check_lsn fails it returns
__this_address which looks like a boolean true (i.e. success)
to the caller.

(interestingly xfs_btree_lblock_verify_crc doesn't have the issue)

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
libxfs/xfs_btree.c

index 461e6a5e14eba8e9cfee1e8b0b552fdf80578b8b..eb78a9a204402aa36051d9b2cd447e11c0f7fcd6 100644 (file)
@@ -326,7 +326,7 @@ xfs_btree_sblock_verify_crc(
 
        if (xfs_sb_version_hascrc(&mp->m_sb)) {
                if (!xfs_log_check_lsn(mp, be64_to_cpu(block->bb_u.s.bb_lsn)))
-                       return __this_address;
+                       return false;
                return xfs_buf_verify_cksum(bp, XFS_BTREE_SBLOCK_CRC_OFF);
        }