diff options
Diffstat (limited to 'util-linux/volume_id/reiserfs.c')
-rw-r--r-- | util-linux/volume_id/reiserfs.c | 27 |
1 files changed, 17 insertions, 10 deletions
diff --git a/util-linux/volume_id/reiserfs.c b/util-linux/volume_id/reiserfs.c index 98ecec23a..d9a37457b 100644 --- a/util-linux/volume_id/reiserfs.c +++ b/util-linux/volume_id/reiserfs.c | |||
@@ -53,31 +53,35 @@ int volume_id_probe_reiserfs(struct volume_id *id, uint64_t off) | |||
53 | struct reiserfs_super_block *rs; | 53 | struct reiserfs_super_block *rs; |
54 | struct reiser4_super_block *rs4; | 54 | struct reiser4_super_block *rs4; |
55 | 55 | ||
56 | dbg("probing at offset 0x%llx", (unsigned long long) off); | 56 | dbg("reiserfs: probing at offset 0x%llx", (unsigned long long) off); |
57 | 57 | ||
58 | rs = volume_id_get_buffer(id, off + REISERFS_SUPERBLOCK_OFFSET, 0x200); | 58 | rs = volume_id_get_buffer(id, off + REISERFS_SUPERBLOCK_OFFSET, 0x200); |
59 | if (rs == NULL) | 59 | if (rs == NULL) |
60 | return -1; | 60 | return -1; |
61 | 61 | ||
62 | if (memcmp(rs->magic, "ReIsErFs", 8) == 0) { | 62 | if (memcmp(rs->magic, "ReIsErFs", 8) == 0) { |
63 | strcpy(id->type_version, "3.5"); | 63 | dbg("reiserfs: ReIsErFs, no label"); |
64 | // strcpy(id->type_version, "3.5"); | ||
64 | goto found; | 65 | goto found; |
65 | } | 66 | } |
66 | if (memcmp(rs->magic, "ReIsEr2Fs", 9) == 0) { | 67 | if (memcmp(rs->magic, "ReIsEr2Fs", 9) == 0) { |
67 | strcpy(id->type_version, "3.6"); | 68 | dbg("reiserfs: ReIsEr2Fs"); |
69 | // strcpy(id->type_version, "3.6"); | ||
68 | goto found_label; | 70 | goto found_label; |
69 | } | 71 | } |
70 | if (memcmp(rs->magic, "ReIsEr3Fs", 9) == 0) { | 72 | if (memcmp(rs->magic, "ReIsEr3Fs", 9) == 0) { |
71 | strcpy(id->type_version, "JR"); | 73 | dbg("reiserfs: ReIsEr3Fs"); |
74 | // strcpy(id->type_version, "JR"); | ||
72 | goto found_label; | 75 | goto found_label; |
73 | } | 76 | } |
74 | 77 | ||
75 | rs4 = (struct reiser4_super_block *) rs; | 78 | rs4 = (struct reiser4_super_block *) rs; |
76 | if (memcmp(rs4->magic, "ReIsEr4", 7) == 0) { | 79 | if (memcmp(rs4->magic, "ReIsEr4", 7) == 0) { |
77 | strcpy(id->type_version, "4"); | 80 | // strcpy(id->type_version, "4"); |
78 | volume_id_set_label_raw(id, rs4->label, 16); | 81 | // volume_id_set_label_raw(id, rs4->label, 16); |
79 | volume_id_set_label_string(id, rs4->label, 16); | 82 | volume_id_set_label_string(id, rs4->label, 16); |
80 | volume_id_set_uuid(id, rs4->uuid, UUID_DCE); | 83 | volume_id_set_uuid(id, rs4->uuid, UUID_DCE); |
84 | dbg("reiserfs: ReIsEr4, label '%s' uuid '%s'", id->label, id->uuid); | ||
81 | goto found; | 85 | goto found; |
82 | } | 86 | } |
83 | 87 | ||
@@ -86,20 +90,23 @@ int volume_id_probe_reiserfs(struct volume_id *id, uint64_t off) | |||
86 | return -1; | 90 | return -1; |
87 | 91 | ||
88 | if (memcmp(rs->magic, "ReIsErFs", 8) == 0) { | 92 | if (memcmp(rs->magic, "ReIsErFs", 8) == 0) { |
89 | strcpy(id->type_version, "3.5"); | 93 | dbg("reiserfs: ReIsErFs, no label"); |
94 | // strcpy(id->type_version, "3.5"); | ||
90 | goto found; | 95 | goto found; |
91 | } | 96 | } |
92 | 97 | ||
98 | dbg("reiserfs: no signature found"); | ||
93 | return -1; | 99 | return -1; |
94 | 100 | ||
95 | found_label: | 101 | found_label: |
96 | volume_id_set_label_raw(id, rs->label, 16); | 102 | // volume_id_set_label_raw(id, rs->label, 16); |
97 | volume_id_set_label_string(id, rs->label, 16); | 103 | volume_id_set_label_string(id, rs->label, 16); |
98 | volume_id_set_uuid(id, rs->uuid, UUID_DCE); | 104 | volume_id_set_uuid(id, rs->uuid, UUID_DCE); |
105 | dbg("reiserfs: label '%s' uuid '%s'", id->label, id->uuid); | ||
99 | 106 | ||
100 | found: | 107 | found: |
101 | volume_id_set_usage(id, VOLUME_ID_FILESYSTEM); | 108 | // volume_id_set_usage(id, VOLUME_ID_FILESYSTEM); |
102 | id->type = "reiserfs"; | 109 | // id->type = "reiserfs"; |
103 | 110 | ||
104 | return 0; | 111 | return 0; |
105 | } | 112 | } |