| To: | Brian Foster <bfoster@xxxxxxxxxx> |
|---|---|
| Subject: | [PATCH v2] xfs: fix endianness error when checking log block crc on big endian platforms |
| From: | "Darrick J. Wong" <darrick.wong@xxxxxxxxxx> |
| Date: | Tue, 26 Jan 2016 11:21:05 -0800 |
| Cc: | Dave Chinner <david@xxxxxxxxxxxxx>, xfs <xfs@xxxxxxxxxxx>, Eric Sandeen <sandeen@xxxxxxxxxx> |
| Delivered-to: | xfs@xxxxxxxxxxx |
| User-agent: | Mutt/1.5.21 (2010-09-15) |
Since the checksum function and the field are both __le32, don't
perform endian conversion when comparing the two. This fixes mount
failures on ppc64.
v2: fix the other crc comparison
Signed-off-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx>
---
fs/xfs/xfs_log_recover.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/fs/xfs/xfs_log_recover.c b/fs/xfs/xfs_log_recover.c
index da37beb..594f7e6 100644
--- a/fs/xfs/xfs_log_recover.c
+++ b/fs/xfs/xfs_log_recover.c
@@ -4491,7 +4491,7 @@ xlog_recover_process(
* know precisely what failed.
*/
if (pass == XLOG_RECOVER_CRCPASS) {
- if (rhead->h_crc && crc != le32_to_cpu(rhead->h_crc))
+ if (rhead->h_crc && crc != rhead->h_crc)
return -EFSBADCRC;
return 0;
}
@@ -4502,7 +4502,7 @@ 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 != le32_to_cpu(rhead->h_crc)) {
+ if (crc != rhead->h_crc) {
if (rhead->h_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.",
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| ||
| Previous by Date: | Re: [PATCH] xfs: fix endianness error when checking log block crc on big endian platforms, Brian Foster |
|---|---|
| Next by Date: | Re: [PATCH v2] xfs: fix endianness error when checking log block crc on big endian platforms, Brian Foster |
| Previous by Thread: | [PATCH] xfs: fix endianness error when checking log block crc on big endian platforms, Darrick J. Wong |
| Next by Thread: | Re: [PATCH v2] xfs: fix endianness error when checking log block crc on big endian platforms, Brian Foster |
| Indexes: | [Date] [Thread] [Top] [All Lists] |