[PATCH -mm 1/5] nilfs2: super block operations fix endian bug

From: Ryusuke Konishi
Date: Thu Mar 05 2009 - 11:12:33 EST


This adds a missing endian conversion of checksum field in the super
block. This fixes compatibility issue on big endian machines which
will come to surface after supporting recovery of super block.

Signed-off-by: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx>
---
fs/nilfs2/super.c | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/fs/nilfs2/super.c b/fs/nilfs2/super.c
index d0639a6..b7519c3 100644
--- a/fs/nilfs2/super.c
+++ b/fs/nilfs2/super.c
@@ -287,9 +287,9 @@ int nilfs_commit_super(struct nilfs_sb_info *sbi)
sbp->s_free_blocks_count = cpu_to_le64(nfreeblocks);
sbp->s_wtime = cpu_to_le64(get_seconds());
sbp->s_sum = 0;
- sbp->s_sum = crc32_le(nilfs->ns_crc_seed, (unsigned char *)sbp,
- le16_to_cpu(sbp->s_bytes));
-
+ sbp->s_sum = cpu_to_le32(crc32_le(nilfs->ns_crc_seed,
+ (unsigned char *)sbp,
+ le16_to_cpu(sbp->s_bytes)));
sbi->s_super->s_dirt = 0;
return nilfs_sync_super(sbi);
}
--
1.5.6.5

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/