]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - fs/xfs/xfs_log_recover.c
Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm
[karo-tx-linux.git] / fs / xfs / xfs_log_recover.c
index 9b3d7c76915d9c92948bed063d79bd10a6107a77..4a98762ec8b45f3c0dd021c04cb5bcf9a74e63bc 100644 (file)
@@ -2025,7 +2025,7 @@ xlog_peek_buffer_cancelled(
        struct xlog             *log,
        xfs_daddr_t             blkno,
        uint                    len,
-       ushort                  flags)
+       unsigned short                  flags)
 {
        struct list_head        *bucket;
        struct xfs_buf_cancel   *bcp;
@@ -2065,7 +2065,7 @@ xlog_check_buffer_cancelled(
        struct xlog             *log,
        xfs_daddr_t             blkno,
        uint                    len,
-       ushort                  flags)
+       unsigned short                  flags)
 {
        struct xfs_buf_cancel   *bcp;
 
@@ -5113,19 +5113,21 @@ xlog_recover_process(
        struct list_head        *buffer_list)
 {
        int                     error;
+       __le32                  old_crc = rhead->h_crc;
        __le32                  crc;
 
+
        crc = xlog_cksum(log, rhead, dp, be32_to_cpu(rhead->h_len));
 
        /*
         * Nothing else to do if this is a CRC verification pass. Just return
         * if this a record with a non-zero crc. Unfortunately, mkfs always
-        * sets h_crc to 0 so we must consider this valid even on v5 supers.
+        * sets old_crc to 0 so we must consider this valid even on v5 supers.
         * Otherwise, return EFSBADCRC on failure so the callers up the stack
         * know precisely what failed.
         */
        if (pass == XLOG_RECOVER_CRCPASS) {
-               if (rhead->h_crc && crc != rhead->h_crc)
+               if (old_crc && crc != old_crc)
                        return -EFSBADCRC;
                return 0;
        }
@@ -5136,11 +5138,11 @@ xlog_recover_process(
         * zero CRC check prevents warnings from being emitted when upgrading
         * the kernel from one that does not add CRCs by default.
         */
-       if (crc != rhead->h_crc) {
-               if (rhead->h_crc || xfs_sb_version_hascrc(&log->l_mp->m_sb)) {
+       if (crc != old_crc) {
+               if (old_crc || xfs_sb_version_hascrc(&log->l_mp->m_sb)) {
                        xfs_alert(log->l_mp,
                "log record CRC mismatch: found 0x%x, expected 0x%x.",
-                                       le32_to_cpu(rhead->h_crc),
+                                       le32_to_cpu(old_crc),
                                        le32_to_cpu(crc));
                        xfs_hex_dump(dp, 32);
                }