diff --git a/ChangeLog b/ChangeLog index 156d45768..52f8e13ed 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2013-09-22 Andrey Borzenkov + + * docs/grub.texi (Device syntax): Document new LVM UUID based device + names; fix LVM driver name (lvm, not lv). + * util/grub-probe.c (probe_abstraction): Support lvmid/xxx device + names. + 2013-09-22 Vladimir Serbinenko * grub-core/kern/emu/hostdisk.c: Disentagle into a series of OS-specific diff --git a/docs/grub.texi b/docs/grub.texi index 894b97f88..574f60292 100644 --- a/docs/grub.texi +++ b/docs/grub.texi @@ -2484,7 +2484,7 @@ by a digit, like @samp{fd0}, or @samp{cd}. AHCI, PATA (ata), crypto, USB use the name of driver followed by a number. Memdisk and host are limited to one disk and so it's refered just by driver name. -RAID (md), ofdisk (ieee1275 and nand), LVM (lv), LDM and arcdisk (arc) use +RAID (md), ofdisk (ieee1275 and nand), LVM (lvm), LDM and arcdisk (arc) use intrinsic name of disk prefixed by driver name. Additionally just ``nand'' refers to the disk aliased as ``nand''. Conflicts are solved by suffixing a number if necessarry. @@ -2493,7 +2493,8 @@ Loopback uses whatever name specified to @command{loopback} command. Hostdisk uses names specified in device.map as long as it's of the form [fhc]d[0-9]* or hostdisk/. For crypto and RAID (md) additionally you can use the syntax -uuid/. +uuid/. For LVM additionally you can use the syntax +lvmid//. @example (fd0) @@ -2505,7 +2506,8 @@ For crypto and RAID (md) additionally you can use the syntax (usb0) (cryptouuid/123456789abcdef0123456789abcdef0) (mduuid/123456789abcdef0123456789abcdef0) -(lv/system-root) +(lvm/system-root) +(lvmid/F1ikgD-2RES-306G-il9M-7iwa-4NKW-EbV1NV/eLGuCQ-L4Ka-XUgR-sjtJ-ffch-bajr-fCNfz5) (md/myraid) (md/0) (ieee1275/disk2) diff --git a/util/grub-probe.c b/util/grub-probe.c index a46f0b18c..0978e0a42 100644 --- a/util/grub-probe.c +++ b/util/grub-probe.c @@ -292,7 +292,8 @@ probe_abstraction (grub_disk_t disk) } if (disk->dev->id == GRUB_DISK_DEVICE_DISKFILTER_ID - && grub_memcmp (disk->name, "lvm/", sizeof ("lvm/") - 1) == 0) + && (grub_memcmp (disk->name, "lvm/", sizeof ("lvm/") - 1) == 0 || + grub_memcmp (disk->name, "lvmid/", sizeof ("lvmid/") - 1) == 0)) printf ("lvm "); if (disk->dev->id == GRUB_DISK_DEVICE_DISKFILTER_ID