summaryrefslogtreecommitdiff
path: root/extras/volume_id/udev_volume_id.c
diff options
context:
space:
mode:
authorkay.sievers@vrfy.org <kay.sievers@vrfy.org>2005-01-31 05:28:44 +0100
committerGreg KH <gregkh@suse.de>2005-04-26 23:24:19 -0700
commitc033fd9f01b3cd5771875069c26d3af06969a300 (patch)
tree7b5c110c690ef41f0ef30903a9b1ed4f6a843772 /extras/volume_id/udev_volume_id.c
parent61b24e5e19fb189cfce7ff323c58e1bb1d7cce4d (diff)
[PATCH] udev_volume_id: new version of volume_id
Every filesystem has its own subdirectory. The IBM dasd label reading is included into volume_id.
Diffstat (limited to 'extras/volume_id/udev_volume_id.c')
-rw-r--r--extras/volume_id/udev_volume_id.c35
1 files changed, 5 insertions, 30 deletions
diff --git a/extras/volume_id/udev_volume_id.c b/extras/volume_id/udev_volume_id.c
index 7b69856804..915c1c4117 100644
--- a/extras/volume_id/udev_volume_id.c
+++ b/extras/volume_id/udev_volume_id.c
@@ -31,8 +31,8 @@
#include "../../libsysfs/sysfs/libsysfs.h"
#include "../../udev_utils.h"
#include "../../logging.h"
-#include "volume_id.h"
-#include "dasdlabel.h"
+#include "volume_id/volume_id.h"
+#include "volume_id/dasd/dasd.h"
#define BLKGETSIZE64 _IOR(0x12,114,size_t)
@@ -74,26 +74,6 @@ static struct volume_id *open_classdev(struct sysfs_class_device *class_dev)
return vid;
}
-static char *usage_id_name(enum volume_id_usage usage)
-{
- switch(usage) {
- case VOLUME_ID_UNUSED:
- return "unused";
- case VOLUME_ID_UNPROBED:
- return "unprobed";
- case VOLUME_ID_OTHER:
- return "other";
- case VOLUME_ID_PARTITIONTABLE:
- return "partitiontable";
- case VOLUME_ID_FILESYSTEM:
- return "filesystem";
- case VOLUME_ID_RAID:
- return "raid";
- default:
- return "unknown type_id";
- }
-}
-
int main(int argc, char *argv[])
{
const char help[] = "usage: udev_volume_id [-t|-l|-u|-d]\n"
@@ -111,7 +91,6 @@ int main(int argc, char *argv[])
char *devpath;
char probe = 'p';
char print = 'a';
- char dasd_label[7];
static char name[VOLUME_ID_LABEL_SIZE];
int len, i, j;
unsigned long long size;
@@ -177,7 +156,7 @@ int main(int argc, char *argv[])
if (ioctl(vid->fd, BLKGETSIZE64, &size) != 0)
size = 0;
- if (volume_id_probe(vid, VOLUME_ID_ALL, 0, size) == 0)
+ if (volume_id_probe_all(vid, 0, size) == 0)
goto print;
break;
case 'd' :
@@ -190,12 +169,8 @@ int main(int argc, char *argv[])
if (vid == NULL)
goto exit;
- if (probe_ibm_partition(vid->fd, dasd_label) == 0) {
- vid->type = "dasd";
- strncpy(vid->label, dasd_label, 6);
- vid->label[6] = '\0';
+ if (probe_ibm_partition(vid) == 0)
goto print;
- }
break;
}
@@ -247,7 +222,7 @@ print:
printf("%s\n", vid->uuid);
break;
case 'a':
- printf("F:%s\n", usage_id_name(vid->usage_id));
+ printf("F:%s\n", vid->usage);
printf("T:%s\n", vid->type);
printf("V:%s\n", vid->type_version);
printf("L:%s\n", vid->label);