1
0
mirror of https://github.com/systemd/systemd.git synced 2024-12-25 01:34:28 +03:00

[PATCH] udev_volume_id: fix dasd disklabel reading with -l option

This commit is contained in:
kay.sievers@vrfy.org 2005-02-09 01:15:35 +01:00 committed by Greg KH
parent 9d4791b66a
commit bce52be81e

View File

@ -89,7 +89,7 @@ int main(int argc, char *argv[])
struct sysfs_class_device *class_dev_parent = NULL;
struct volume_id *vid = NULL;
char *devpath;
char probe_main_device = 0;
char probe_disk_label = 0;
char print = 'a';
static char name[VOLUME_ID_LABEL_SIZE];
int len, i, j;
@ -116,7 +116,7 @@ int main(int argc, char *argv[])
print = 'u';
continue;
case 'd':
probe_main_device = 1;
probe_disk_label = 1;
continue;
case 'h':
case '?':
@ -146,8 +146,7 @@ int main(int argc, char *argv[])
goto exit;
}
if (probe_main_device == 0) {
/* open block device */
if (probe_disk_label == 0) {
vid = open_classdev(class_dev);
if (vid == NULL)
goto exit;
@ -205,7 +204,8 @@ print:
printf("%s\n", vid->type);
break;
case 'l':
if (name[0] == '\0' || vid->usage_id != VOLUME_ID_FILESYSTEM) {
if (name[0] == '\0' ||
(vid->usage_id != VOLUME_ID_FILESYSTEM && vid->usage_id != VOLUME_ID_DISKLABEL)) {
rc = 2;
goto exit;
}