1
0
mirror of https://github.com/systemd/systemd.git synced 2024-12-25 01:34:28 +03:00
systemd/extras/volume_id
Kay Sievers 726b21604a volume_id: fix error handling with failing read()
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
2005-09-14 14:29:59 +02:00
..
volume_id volume_id: fix error handling with failing read() 2005-09-14 14:29:59 +02:00
Makefile EXTRAS/Makefile: fix install targets to match main Makefile 2005-09-14 14:27:28 +02:00
README volume_id: remove s390 dasd handling, it is dasd_id now 2005-07-13 12:01:53 +02:00
vol_id.c volume_id: fix error handling with failing read() 2005-09-14 14:29:59 +02:00

vol_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.
vol_id opens the blockdevice node specified at the commandline.
The following commandline switches are supported to specify what vol_id
should print:

  --export prints all values
  -h       prints help text
  -l       prints the label of the partition
  -u       prints the uuid of the partition

vol_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.

fstype                 probe  label  uuid  fsversion
----------------------------------------------------
ext                    *      *      *     *
reiserfs jr/3.5/3.6/4  *      *      *     *
fat (12, 16, 32)       *      *      *     *
ntfs                   *      *      *     *
jfs                    *      *      *     -
xfs                    *      *      *     -
hfs (plus, wrapped)    *      *      *     -
udf                    *      *      -     -
iso9660                *      *      n/a   -
ufs                    *      -      -     -
linux swap             *      *      *     *
LVM 1                  *      -      -     -
LVM 2                  *      -      -     *
linux raid             *      -      *     *
cramfs                 *      *      -     -
sysv                   *      *      -     *
luks                   *      -      *     -
hpfs                   *      -      -     -
romfs                  *
minix                  *
highpoint              *
isw_raid               *
lsi_raid               *
nvidia_raid            *
promise_raid           *
silicon_raid           *
via_raid               *
mac partitons          *
msdos partitions       *


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

If no label is found vol_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]# extras/volume_id/vol_id /dev/hda3
  T:ext3
  L:Music Store
  N:Music_Store
  U:d2da42b5-bbd9-44eb-a72c-cc4542fcb71e

  [root@pim udev.kay]# extras/volume_id/vol_id -l /dev/hda3
  Music_Store

  [root@pim udev.kay]# extras/volume_id/vol_id -t /dev/hda3
  swap


Any comment/questions/concerns to me:
Kay Sievers <kay.sievers@vrfy.org>