diff options
author | John Ferlan <jferlan@redhat.com> | 2016-05-09 14:57:17 -0400 |
---|---|---|
committer | John Ferlan <jferlan@redhat.com> | 2016-05-11 09:23:31 -0400 |
commit | e7bde8d319d86305ee542e554118139f06239094 (patch) | |
tree | 9781502f7710259970acb78c48257a66b38260ba /docs | |
parent | 5e54361c9d15f004a6b6795841c6689028b99e63 (diff) | |
download | libvirt-e7bde8d319d86305ee542e554118139f06239094.tar.gz |
storage: Fix algorithm generating path names for devmapper
https://bugzilla.redhat.com/show_bug.cgi?id=1265694
Commit id '020135dc' didn't quite get the algorithm correct when a
device mapper source ended with a non numeric value (e.g. ends with
an alphabet value).
This patch modifies the 'part_separator' logic to add the "p" separator
to the attempted target path name only when specified as part_separator='yes'.
For a source name that already ends with a number, the logic doesn't change
as the part separator would need to be there.
For a source name that ends with something other than a number, this allows
the possibility that a "p" separator can be added. The default for one of
these source devices is to not add the separator.
The key for device mapper and the need for a partition separator "p" is
the presence of a number in the last character of the device name link
in /dev/mapper. A name such as "/dev/mapper/mpatha1" would generate
a "/dev/mapper/mpatha1p1" partition, while "/dev/mapper/mpatha" would
generate partition "/dev/mapper/mpatha1". Similarly for a device
mapper entry not using friendly names or an alias, a device such as
"/dev/mapper/3600a0b80005b10ca00005ad656fd8d93" would generate a
paritition "/dev/mapper/3600a0b80005b10ca00005ad656fd8d93p1", while
a device such as "/dev/mapper/3600a0b80005b10ca00005e115729093f" would
generate a partition "/dev/mapper/3600a0b80005b10ca00005e115729093f1".
The long number is the WWID of the device. It's also possible to assign
an alias for a device mapper entry, that alias follows the same rules
with respect to ending with a number or not when adding a "p" to create
the target device path.
Diffstat (limited to 'docs')
-rw-r--r-- | docs/formatstorage.html.in | 18 |
1 files changed, 5 insertions, 13 deletions
diff --git a/docs/formatstorage.html.in b/docs/formatstorage.html.in index 0356182127..94277a15ec 100644 --- a/docs/formatstorage.html.in +++ b/docs/formatstorage.html.in @@ -134,19 +134,11 @@ <code>path</code> may be supplied. Valid values for the attribute may be either "yes" or "no". This attribute is to be used for a <code>disk</code> pool type using a <code>path</code> to a - device mapper multipath device configured to utilize either - 'user_friendly_names' or a custom 'alias' name in the - /etc/multipath.conf. The attribute directs libvirt to not - generate device volume names with the partition character "p". - By default, when libvirt generates the partition names for - device mapper multipath devices it will add a "p" path separator - to the device name before adding the partition number. For example, - a <code>device path</code> of '/dev/mapper/mpatha' libvirt would - generate partition names of '/dev/mapper/mpathap1', - '/dev/mapper/mpathap2', etc. for each partition found. With - this attribute set to "no", libvirt will not append the "p" to - the name unless it ends with a number thus generating names - of '/dev/mapper/mpatha1', '/dev/mapper/mpatha2', etc. + device mapper multipath device. Setting the attribute to "yes" + causes libvirt to attempt to generate and find target volume path's + using a "p" separator. The default algorithm used by device mapper + is to add the "p" separator only when the source device path ends + with a number. <span class="since">Since 1.3.1</span></p></dd> <dt><code>dir</code></dt> <dd>Provides the source for pools backed by directories (pool |