summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKay Sievers <kay@pim>2005-10-23 18:54:34 +0200
committerKay Sievers <kay@pim>2005-10-23 18:54:34 +0200
commitf3c14c68499d318b2beb56cee7c5f88f2c04dc62 (patch)
tree224c7db858731e17714ddb7974e50e61149bfec5
parentc929358e0292e7f0650b543f4085cd10d2624534 (diff)
volume_id: move blocksize validation to fix jbd recognition
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
-rw-r--r--extras/volume_id/volume_id/ext.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/extras/volume_id/volume_id/ext.c b/extras/volume_id/volume_id/ext.c
index 7080f1dd35..e80ac90ad6 100644
--- a/extras/volume_id/volume_id/ext.c
+++ b/extras/volume_id/volume_id/ext.c
@@ -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)