1
1
mirror of https://github.com/systemd/systemd-stable.git synced 2024-11-01 00:51:08 +03:00
systemd-stable/extras/volume_id
cborntra@de.ibm.com 61b24e5e19 [PATCH] udev_volume_id: fix -d option
The -d option in udev_allows to go from a partition to the underlying disk
for s390 dasd labels. If the device is already the disk itself, finding the 
parent will fail, therefore -d on /sys/block/dasda/ for example gives no 
result at all.
2005-04-26 23:21:58 -07:00
..
dasdlabel.c [PATCH] udev_volume_id update 2005-04-26 21:35:17 -07:00
dasdlabel.h [PATCH] udev_volume_id update 2005-04-26 21:35:17 -07:00
Makefile [PATCH] udev_volume_id: links sysfs.a instead of all objects 2005-04-26 23:13:47 -07:00
README [PATCH] udev_volume_id update 2005-04-26 21:35:17 -07:00
s390-dasd.rules [PATCH] udev_volume_id update 2005-04-26 21:35:17 -07:00
udev_volume_id.c [PATCH] udev_volume_id: fix -d option 2005-04-26 23:21:58 -07:00
volume_id_logging.h [PATCH] volume-id build fix and update 2005-04-26 21:37:01 -07:00
volume_id.c [PATCH] udev_volume_id: fix FAT label reading 2005-04-26 23:21:58 -07:00
volume_id.h [PATCH] udev_volume_id: fix FAT label reading 2005-04-26 23:21:58 -07:00

udev_volume_id - partition, filesystem, disklabel reader

This program is normally called from a udev rule, to provide udev with the
name, uuid or the filesystem type of a partition to name a device node.
udev_volume_id opens the blockdevice specified by the environment variable
DEVPATH and searches for a filesystem superblock to read the label. The
following commandline switches are supported to specify what udev_volume_id
should print to stdout:

       no option prints all values
  -h   prints help text
  -l   prints the label of the partition
  -u   prints the uuid of the partition
  -d   read disk instead of partition

If -d is specified udev_volume_id tries to read the label from the main
block device where the partition belongs to. For now this is only useful
for s390 dasd labels.

udev_volume_id will only return successful if the string asked for, is not
empty. All trailing whitespace will be removed, spaces replaced by underscore
and slashes ignored.

The following rule will create a symlink named with the label string:
  KERNEL="[hs]d*", PROGRAM="/sbin/udev_volume_id -l", SYMLINK="%c"

If no label is found udev_volume_id exits with nonzero and the rule will be
ignored.

To give it a try, you may call it on the commandline:

  [root@pim udev.kay]# DEVPATH=/block/hda/hda3 extras/volume_id/udev_volume_id
  T:ext3
  L:Music Store
  N:Music_Store
  U:d2da42b5-bbd9-44eb-a72c-cc4542fcb71e

  [root@pim udev.kay]# DEVPATH=/block/hda/hda3 extras/volume_id/udev_volume_id -l
  Music_Store

  [root@pim udev.kay]# DEVPATH=/block/hda/hda1 extras/volume_id/udev_volume_id -t
  swap


Please send any comment/questions/concerns to me or:
	linux-hotplug-devel@lists.sourceforge.net

Kay Sievers <kay.sievers@vrfy.org>