chiark / gitweb /
[PATCH] volume_id: Fix label/uuid reading for reiserfs
[elogind.git] / extras / volume_id / volume_id / reiserfs.c
index 094062dba20c1e8f329cce4dcee6cfd65c669099..091c68aaf47c4bf1e45b1f7b8cfc889e3c574907 100644 (file)
@@ -73,13 +73,17 @@ int volume_id_probe_reiserfs(struct volume_id *id, __u64 off)
        struct reiser4_super_block *rs4;
        __u8 *buf;
 
-       dbg("probing at offset %llu", off);
+       dbg("probing at offset 0x%llx", (unsigned long long) off);
 
        buf = volume_id_get_buffer(id, off + REISERFS_SUPERBLOCK_OFFSET, 0x200);
        if (buf == NULL)
                return -1;
 
        rs = (struct reiserfs_super_block *) buf;;
+       if (memcmp(rs->magic, "ReIsErFs", 8) == 0) {
+               strcpy(id->type_version, "3.5");
+               goto found;
+       }
        if (memcmp(rs->magic, "ReIsEr2Fs", 9) == 0) {
                strcpy(id->type_version, "3.6");
                goto found_v3;
@@ -104,7 +108,7 @@ int volume_id_probe_reiserfs(struct volume_id *id, __u64 off)
 
        if (memcmp(rs->magic, "ReIsErFs", 8) == 0) {
                strcpy(id->type_version, "3.5");
-               goto found_v3;
+               goto found;
        }
 
        return -1;