From: Kay Sievers <kay.sievers@vrfy.org>
To: linux-hotplug@vger.kernel.org
Subject: update volume_id
Date: Tue, 05 Oct 2004 22:41:17 +0000 [thread overview]
Message-ID: <20041005224117.GA7913@vrfy.org> (raw)
[-- Attachment #1: Type: text/plain, Size: 128 bytes --]
You're catching up too fast :). Here is an update to the latest
volume_id which fixes a few bugs with FAT volumes.
Thanks,
Kay
[-- Attachment #2: udev-vid-25-01.patch --]
[-- Type: text/plain, Size: 3336 bytes --]
diff -Nru a/extras/volume_id/volume_id.c b/extras/volume_id/volume_id.c
--- a/extras/volume_id/volume_id.c 2004-10-06 00:36:16 +02:00
+++ b/extras/volume_id/volume_id.c 2004-10-06 00:36:16 +02:00
@@ -321,7 +321,7 @@
found:
strncpy(id->type_version, lvm->type, 8);
id->usage_id = VOLUME_ID_RAID;
- id->type_id = VOLUME_ID_LVM1;
+ id->type_id = VOLUME_ID_LVM2;
id->type = "LVM2_member";
return 0;
@@ -461,6 +461,8 @@
p = &id->partitions[i];
+ p->partition_type_raw = part[i].sys_ind;
+
if (is_extended(part[i].sys_ind)) {
dbg("found extended partition at 0x%llx", poff);
p->usage_id = VOLUME_ID_PARTITIONTABLE;
@@ -535,6 +537,9 @@
p->off = current + poff;
p->len = plen;
id->partition_count++;
+
+ p->partition_type_raw = part[i].sys_ind;
+
if (id->partition_count >= VOLUME_ID_PARTITIONS_MAX) {
dbg("to many partitions");
next = 0;
@@ -918,13 +923,13 @@
for (i = 0; i <= root_dir_entries; i++) {
/* end marker */
- if (dir[i].attr == 0x00) {
+ if (dir[i].name[0] == 0x00) {
dbg("end of dir");
break;
}
/* empty entry */
- if (dir[i].attr == 0xe5)
+ if (dir[i].name[0] == 0xe5)
continue;
if (dir[i].attr == FAT_ATTR_VOLUME) {
@@ -976,13 +981,13 @@
for (i = 0; i <= count; i++) {
/* end marker */
- if (dir[i].attr == 0x00) {
+ if (dir[i].name[0] == 0x00) {
dbg("end of dir");
goto fat32_label;
}
/* empty entry */
- if (dir[i].attr == 0xe5)
+ if (dir[i].name[0] == 0xe5)
continue;
if (dir[i].attr == FAT_ATTR_VOLUME) {
@@ -1016,7 +1021,7 @@
set_label_raw(id, vs->type.fat32.label, 11);
set_label_string(id, vs->type.fat32.label, 11);
}
- set_uuid(id, vs->type.fat32.serno, UUID_DCE);
+ set_uuid(id, vs->type.fat32.serno, UUID_DOS);
found:
id->usage_id = VOLUME_ID_FILESYSTEM;
@@ -2035,20 +2040,27 @@
break;
case VOLUME_ID_ALL:
default:
+ /* probe for raid first, cause fs probes may be successful on raid members */
rc = probe_linux_raid(id, off, size);
if (rc == 0)
break;
-
- /* signature in the first block */
- rc = probe_ntfs(id, off);
+ rc = probe_lvm1(id, off);
if (rc == 0)
break;
- rc = probe_vfat(id, off);
+ rc = probe_lvm2(id, off);
if (rc == 0)
break;
+
+ /* signature in the first block, only small buffer needed */
rc = probe_msdos_part_table(id, off);
if (rc == 0)
break;
+ rc = probe_ntfs(id, off);
+ if (rc == 0)
+ break;
+ rc = probe_vfat(id, off);
+ if (rc == 0)
+ break;
rc = probe_mac_partition_map(id, off);
if (rc == 0)
break;
@@ -2081,12 +2093,6 @@
if (rc == 0)
break;
rc = probe_ufs(id, off);
- if (rc == 0)
- break;
- rc = probe_lvm1(id, off);
- if (rc == 0)
- break;
- rc = probe_lvm2(id, off);
if (rc == 0)
break;
diff -Nru a/extras/volume_id/volume_id.h b/extras/volume_id/volume_id.h
--- a/extras/volume_id/volume_id.h 2004-10-06 00:36:16 +02:00
+++ b/extras/volume_id/volume_id.h 2004-10-06 00:36:16 +02:00
@@ -21,7 +21,7 @@
#ifndef _VOLUME_ID_H_
#define _VOLUME_ID_H_
-#define VOLUME_ID_VERSION 024
+#define VOLUME_ID_VERSION 25
#define VOLUME_ID_LABEL_SIZE 64
#define VOLUME_ID_UUID_SIZE 16
@@ -68,6 +68,7 @@
char *type;
unsigned long long off;
unsigned long long len;
+ unsigned int partition_type_raw;
};
struct volume_id {
next reply other threads:[~2004-10-05 22:41 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-10-05 22:41 Kay Sievers [this message]
2004-10-05 23:58 ` update volume_id Greg KH
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20041005224117.GA7913@vrfy.org \
--to=kay.sievers@vrfy.org \
--cc=linux-hotplug@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).