Skip to content

Commit

Permalink
nilfs2: add missing endian conversion on super block magic number
Browse files Browse the repository at this point in the history
This adds missing endian conversions in comparision of the magic
number of super blocks.  It was coincidence that prior versions didn't
incur problems; the upper byte of the magic number happened to be
equal to the lower byte.  But, semantically it's wrong to depend on
this.

This won't change anything else nor suffer any compatibility issues.

Signed-off-by: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
  • Loading branch information
Ryusuke Konishi committed May 10, 2010
1 parent 4e81950 commit 34cb9b5
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions fs/nilfs2/super.c
Original file line number Diff line number Diff line change
Expand Up @@ -242,8 +242,8 @@ int nilfs_commit_super(struct nilfs_sb_info *sbi, int dupsb)
int err;

/* nilfs->sem must be locked by the caller. */
if (sbp[0]->s_magic != NILFS_SUPER_MAGIC) {
if (sbp[1] && sbp[1]->s_magic == NILFS_SUPER_MAGIC)
if (sbp[0]->s_magic != cpu_to_le16(NILFS_SUPER_MAGIC)) {
if (sbp[1] && sbp[1]->s_magic == cpu_to_le16(NILFS_SUPER_MAGIC))
nilfs_swap_super_block(nilfs);
else {
printk(KERN_CRIT "NILFS: superblock broke on dev %s\n",
Expand Down

0 comments on commit 34cb9b5

Please sign in to comment.