diff options
Diffstat (limited to 'fs/ext3/super.c')
-rw-r--r-- | fs/ext3/super.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/fs/ext3/super.c b/fs/ext3/super.c index f6c94f232ec1..541d5e4f7f6e 100644 --- a/fs/ext3/super.c +++ b/fs/ext3/super.c | |||
@@ -1744,6 +1744,18 @@ static int ext3_fill_super (struct super_block *sb, void *data, int silent) | |||
1744 | for (i=0; i < 4; i++) | 1744 | for (i=0; i < 4; i++) |
1745 | sbi->s_hash_seed[i] = le32_to_cpu(es->s_hash_seed[i]); | 1745 | sbi->s_hash_seed[i] = le32_to_cpu(es->s_hash_seed[i]); |
1746 | sbi->s_def_hash_version = es->s_def_hash_version; | 1746 | sbi->s_def_hash_version = es->s_def_hash_version; |
1747 | i = le32_to_cpu(es->s_flags); | ||
1748 | if (i & EXT2_FLAGS_UNSIGNED_HASH) | ||
1749 | sbi->s_hash_unsigned = 3; | ||
1750 | else if ((i & EXT2_FLAGS_SIGNED_HASH) == 0) { | ||
1751 | #ifdef __CHAR_UNSIGNED__ | ||
1752 | es->s_flags |= cpu_to_le32(EXT2_FLAGS_UNSIGNED_HASH); | ||
1753 | sbi->s_hash_unsigned = 3; | ||
1754 | #else | ||
1755 | es->s_flags |= cpu_to_le32(EXT2_FLAGS_SIGNED_HASH); | ||
1756 | #endif | ||
1757 | sb->s_dirt = 1; | ||
1758 | } | ||
1747 | 1759 | ||
1748 | if (sbi->s_blocks_per_group > blocksize * 8) { | 1760 | if (sbi->s_blocks_per_group > blocksize * 8) { |
1749 | printk (KERN_ERR | 1761 | printk (KERN_ERR |