1
0
mirror of https://github.com/systemd/systemd.git synced 2024-12-27 07:22:31 +03:00
systemd/extras/volume_id
Kay Sievers 779d2d851e volume_id: always check for all filesystem types and skip conflicting results
We probe for all known filesystems to find conflicting signatures. If
we find multiple matching signatures and one of the detected filesystem
types claims that it can not co-exist with any other filesystem type,
we do not return a probing result.

We can not afford to mount a volume with the wrong filesystem code and
possibly corrupt it. Linux ssytems have the problem of dozens of possible
filesystem types, and volumes with left-over signatures from former
filesystem types. Invalid signature need to be removed from the volume
to make the filesystem detection successful.

We do not want to read that many bytes from probed floppies, skip volumes
smaller than a usual floppy disk.
2008-11-13 19:34:41 +01:00
..
lib volume_id: always check for all filesystem types and skip conflicting results 2008-11-13 19:34:41 +01:00
.gitignore gitignore: move *.8 to subdirs 2008-09-29 05:03:43 +02:00
Makefile.am libudev: add global property list 2008-10-16 13:51:29 +02:00
README vol_id: update README 2008-10-13 03:34:37 +02:00
vol_id.c unify string replacement 2008-11-05 21:49:52 +01:00
vol_id.xml udevadm: add --version --help options to man page, hide them as commands 2008-09-07 14:48:33 +02:00

vol_id - probe filesystem and read label and uuid

vol_id will only return with a non-zero exit code if the string asked for,
is not empty. All trailing whitespace will be removed, spaces replaced by
underscore and slashes ignored.
Unmangled values are available in the --export mode as hex-encoded strings
in *_ENC= keys.

  $ extras/volume_id/vol_id --export /dev/sda6
  ID_FS_USAGE=filesystem
  ID_FS_TYPE=ext3
  ID_FS_VERSION=1.0
  ID_FS_UUID=3e999973-00c9-4917-9442-b7633bd95b9e
  ID_FS_UUID_ENC=3e999973-00c9-4917-9442-b7633bd95b9e
  ID_FS_LABEL=devel
  ID_FS_LABEL_ENC=devel

  $ extras/volume_id/vol_id --label /dev/sda6
  devel

  $ extras/volume_id/vol_id --type /dev/sda6
  ext3


fstype                 probe  label  uuid  version
--------------------------------------------------
linux swap             *      *      *     *
btrfs                  *      *      *     -
ext                    *      *      *     *
reiserfs jr/3.5/3.6/4  *      *      *     *
fat (12, 16, 32)       *      *      *     *
ntfs                   *      *      *     *
jfs                    *      *      *     -
xfs                    *      *      *     -
hfs (plus, wrapped)    *      *      *     -
udf                    *      *      -     -
iso9660                *      *      -     -
ufs                    *      -      -     -
cramfs                 *      *      -     -
sysv                   *      *      -     *
luks                   *      -      *     -
hpfs                   *      *      -     -
romfs                  *      *      -     -
squashfs               *      -      -     -
minix                  *      -      -     *
ocfs (1, 2)            *      *      *     *
vxfs                   *      -      -     *
nss (netware)          *      -      *     *
gfs, gfs2              *      *      *     -
oracleasm              *      *      -     -

Raid members are detected to prevent the probing for a filesystem
-----------------------------------------------------------------
linux raid (md)        *      *      *     *
LVM 1                  *      -      -     -
LVM 2                  *      -      -     *
ddf                    *      -      *     *
highpoint              *      -      -     -
isw_raid               *      -      -     -
lsi_raid               *      -      -     -
nvidia_raid            *      -      -     -
promise_raid           *      -      -     -
silicon_raid           *      -      -     -
via_raid               *      -      -     -
jmicron                *      -      -     -
adaptec                *      -      -     -