[blivet][master/rhel7-branch] Prefer ID_SERIAL over ID_SERIAL_SHORT (#1138254)

Radek Vykydal rvykydal at redhat.com
Tue Sep 9 12:42:36 UTC 2014


Ack.

On 09/05/2014 09:53 AM, Vratislav Podzimek wrote:
> While there are devices that export multiple block devices with the same
> ID_SERIAL_SHORT (e.g. card readers) they use different ID_SERIAL values for
> those block devices. Using ID_SERIAL_SHORT instead of ID_SERIAL results in all
> the card reader's block devices being considered "obvious multipath devices"
> where multipathd lost the race condition game and didn't assemble them
> correctly. Which is terribly wrong.
>
> Signed-off-by: Vratislav Podzimek <vpodzime at redhat.com>
> ---
>   blivet/devices.py | 3 ++-
>   blivet/udev.py    | 2 +-
>   2 files changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/blivet/devices.py b/blivet/devices.py
> index 016f61a..8340b8f 100644
> --- a/blivet/devices.py
> +++ b/blivet/devices.py
> @@ -1192,7 +1192,8 @@ class DiskDevice(StorageDevice):
>               :type sysfsPath: str
>               :keyword removable: whether or not this is a removable device
>               :type removable: bool
> -            :keyword serial: the ID_SERIAL_SHORT for this device
> +            :keyword serial: the ID_SERIAL_RAW, ID_SERIAL or ID_SERIAL_SHORT for
> +                             this device (which one is available)
>               :type serial: str
>               :keyword vendor: the manufacturer of this Device
>               :type vendor: str
> diff --git a/blivet/udev.py b/blivet/udev.py
> index 107d12e..5755d0c 100644
> --- a/blivet/udev.py
> +++ b/blivet/udev.py
> @@ -262,7 +262,7 @@ def device_is_loop(info):
>   
>   def device_get_serial(udev_info):
>       """ Get the serial number/UUID from the device as reported by udev. """
> -    return udev_info.get("ID_SERIAL_RAW", udev_info.get("ID_SERIAL_SHORT", udev_info.get("ID_SERIAL")))
> +    return udev_info.get("ID_SERIAL_RAW", udev_info.get("ID_SERIAL", udev_info.get("ID_SERIAL_SHORT")))
>   
>   def device_get_wwid(udev_info):
>       """ The WWID of a device is typically just its serial number, but with



More information about the anaconda-patches mailing list