Whamcloud - gitweb
Merge branch 'maint' into next
authorTheodore Ts'o <tytso@mit.edu>
Mon, 16 Nov 2009 05:30:57 +0000 (00:30 -0500)
committerTheodore Ts'o <tytso@mit.edu>
Mon, 16 Nov 2009 05:30:57 +0000 (00:30 -0500)
Conflicts:
misc/mke2fs.c

1  2 
lib/ext2fs/swapfs.c
misc/mke2fs.c
resize/resize2fs.c

@@@ -73,14 -73,23 +73,24 @@@ void ext2fs_swap_super(struct ext2_supe
        sb->s_kbytes_written = ext2fs_swab64(sb->s_kbytes_written);
        for (i=0; i < 4; i++)
                sb->s_hash_seed[i] = ext2fs_swab32(sb->s_hash_seed[i]);
+       /* if journal backup is for a valid extent-based journal... */
+       if (!ext2fs_extent_header_verify(sb->s_jnl_blocks,
+                                        sizeof(sb->s_jnl_blocks))) {
+               /* ... swap only the journal i_size */
+               sb->s_jnl_blocks[16] = ext2fs_swab32(sb->s_jnl_blocks[16]);
+               /* and the extent data is not swapped on read */
+               return;
+       }
+       /* direct/indirect journal: swap it all */
        for (i=0; i < 17; i++)
                sb->s_jnl_blocks[i] = ext2fs_swab32(sb->s_jnl_blocks[i]);
  }
  
 -void ext2fs_swap_group_desc(struct ext2_group_desc *gdp)
 +void ext2fs_swap_group_desc2(ext2_filsys fs, struct ext2_group_desc *gdp)
  {
 +      /* Do the 32-bit parts first */
        gdp->bg_block_bitmap = ext2fs_swab32(gdp->bg_block_bitmap);
        gdp->bg_inode_bitmap = ext2fs_swab32(gdp->bg_inode_bitmap);
        gdp->bg_inode_table = ext2fs_swab32(gdp->bg_inode_table);
diff --cc misc/mke2fs.c
Simple merge
Simple merge