diff options
Diffstat (limited to 'fs/f2fs/super.c')
-rw-r--r-- | fs/f2fs/super.c | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/fs/f2fs/super.c b/fs/f2fs/super.c index ed4095e5e8a7..3dfa1b5eae2f 100644 --- a/fs/f2fs/super.c +++ b/fs/f2fs/super.c | |||
@@ -788,14 +788,22 @@ static int sanity_check_raw_super(struct super_block *sb, | |||
788 | return 1; | 788 | return 1; |
789 | } | 789 | } |
790 | 790 | ||
791 | if (le32_to_cpu(raw_super->log_sectorsize) != | 791 | /* Currently, support 512/1024/2048/4096 bytes sector size */ |
792 | F2FS_LOG_SECTOR_SIZE) { | 792 | if (le32_to_cpu(raw_super->log_sectorsize) > |
793 | f2fs_msg(sb, KERN_INFO, "Invalid log sectorsize"); | 793 | F2FS_MAX_LOG_SECTOR_SIZE || |
794 | le32_to_cpu(raw_super->log_sectorsize) < | ||
795 | F2FS_MIN_LOG_SECTOR_SIZE) { | ||
796 | f2fs_msg(sb, KERN_INFO, "Invalid log sectorsize (%u)", | ||
797 | le32_to_cpu(raw_super->log_sectorsize)); | ||
794 | return 1; | 798 | return 1; |
795 | } | 799 | } |
796 | if (le32_to_cpu(raw_super->log_sectors_per_block) != | 800 | if (le32_to_cpu(raw_super->log_sectors_per_block) + |
797 | F2FS_LOG_SECTORS_PER_BLOCK) { | 801 | le32_to_cpu(raw_super->log_sectorsize) != |
798 | f2fs_msg(sb, KERN_INFO, "Invalid log sectors per block"); | 802 | F2FS_MAX_LOG_SECTOR_SIZE) { |
803 | f2fs_msg(sb, KERN_INFO, | ||
804 | "Invalid log sectors per block(%u) log sectorsize(%u)", | ||
805 | le32_to_cpu(raw_super->log_sectors_per_block), | ||
806 | le32_to_cpu(raw_super->log_sectorsize)); | ||
799 | return 1; | 807 | return 1; |
800 | } | 808 | } |
801 | return 0; | 809 | return 0; |