Skip to content

Commit

Permalink
nilfs2: super block operations fix endian bug
Browse files Browse the repository at this point in the history
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@lab.ntt.co.jp>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  • Loading branch information
Ryusuke Konishi authored and Linus Torvalds committed Apr 7, 2009
1 parent 1f5abe7 commit e626874
Showing 1 changed file with 3 additions and 3 deletions.
6 changes: 3 additions & 3 deletions fs/nilfs2/super.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
}
Expand Down

0 comments on commit e626874

Please sign in to comment.