chiark / gitweb /
volume_id: move blocksize validation to fix jbd recognition
authorKay Sievers <kay@pim>
Sun, 23 Oct 2005 16:54:34 +0000 (18:54 +0200)
committerKay Sievers <kay@pim>
Sun, 23 Oct 2005 16:54:34 +0000 (18:54 +0200)
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
extras/volume_id/volume_id/ext.c

index 7080f1d..e80ac90 100644 (file)
@@ -86,13 +86,6 @@ int volume_id_probe_ext(struct volume_id *id, uint64_t off)
        if (es->s_magic != cpu_to_le16(EXT_SUPER_MAGIC))
                return -1;
 
-       bsize = 0x200 << le32_to_cpu(es->s_log_block_size);
-       dbg("ext blocksize 0x%zx", bsize);
-       if (bsize < EXT3_MIN_BLOCK_SIZE || bsize > EXT3_MAX_BLOCK_SIZE) {
-               dbg("invalid ext blocksize");
-               return -1;
-       }
-
        volume_id_set_label_raw(id, es->s_volume_name, 16);
        volume_id_set_label_string(id, es->s_volume_name, 16);
        volume_id_set_uuid(id, es->s_uuid, UUID_DCE);
@@ -106,6 +99,13 @@ int volume_id_probe_ext(struct volume_id *id, uint64_t off)
                return 0;
        }
 
+       bsize = 0x200 << le32_to_cpu(es->s_log_block_size);
+       dbg("ext blocksize 0x%zx", bsize);
+       if (bsize < EXT3_MIN_BLOCK_SIZE || bsize > EXT3_MAX_BLOCK_SIZE) {
+               dbg("invalid ext blocksize");
+               return -1;
+       }
+
        /* check for ext2 / ext3 */
        volume_id_set_usage(id, VOLUME_ID_FILESYSTEM);
        if ((le32_to_cpu(es->s_feature_compat) & EXT3_FEATURE_COMPAT_HAS_JOURNAL) != 0)