forked from rpms/python-blivet
		
	import python-blivet-3.4.0-13.el8
This commit is contained in:
		
							parent
							
								
									dc0c82ebfa
								
							
						
					
					
						commit
						847d3e38d4
					
				
							
								
								
									
										107
									
								
								SOURCES/0021-DDF-RAID-support-using-mdadm.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										107
									
								
								SOURCES/0021-DDF-RAID-support-using-mdadm.patch
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,107 @@ | ||||
| From 898178047ac4bc97ddccb193cb0e11f7fdf18196 Mon Sep 17 00:00:00 2001 | ||||
| From: Vojtech Trefny <vtrefny@redhat.com> | ||||
| Date: Wed, 17 Aug 2022 14:24:21 +0200 | ||||
| Subject: [PATCH 1/3] Use MD populator instead of DM to handle DDF RAID format | ||||
| 
 | ||||
| ---
 | ||||
|  blivet/formats/dmraid.py | 2 +- | ||||
|  blivet/formats/mdraid.py | 2 +- | ||||
|  2 files changed, 2 insertions(+), 2 deletions(-) | ||||
| 
 | ||||
| diff --git a/blivet/formats/dmraid.py b/blivet/formats/dmraid.py
 | ||||
| index 2ba9dcfe5..ce15905dc 100644
 | ||||
| --- a/blivet/formats/dmraid.py
 | ||||
| +++ b/blivet/formats/dmraid.py
 | ||||
| @@ -43,7 +43,7 @@ class DMRaidMember(DeviceFormat):
 | ||||
|      # | ||||
|      #     One problem that presents is the possibility of someone passing | ||||
|      #     a dmraid member to the MDRaidArrayDevice constructor. | ||||
| -    _udev_types = ["adaptec_raid_member", "ddf_raid_member",
 | ||||
| +    _udev_types = ["adaptec_raid_member",
 | ||||
|                     "hpt37x_raid_member", "hpt45x_raid_member", | ||||
|                     "isw_raid_member", | ||||
|                     "jmicron_raid_member", "lsi_mega_raid_member", | ||||
| diff --git a/blivet/formats/mdraid.py b/blivet/formats/mdraid.py
 | ||||
| index 41ddef810..4aa3f3b07 100644
 | ||||
| --- a/blivet/formats/mdraid.py
 | ||||
| +++ b/blivet/formats/mdraid.py
 | ||||
| @@ -41,7 +41,7 @@ class MDRaidMember(DeviceFormat):
 | ||||
|      """ An mdraid member disk. """ | ||||
|      _type = "mdmember" | ||||
|      _name = N_("software RAID") | ||||
| -    _udev_types = ["linux_raid_member"]
 | ||||
| +    _udev_types = ["linux_raid_member", "ddf_raid_member"]
 | ||||
|      parted_flag = PARTITION_RAID | ||||
|      _formattable = True                 # can be formatted | ||||
|      _supported = True                   # is supported | ||||
| 
 | ||||
| From c487c6178ee9859163379946c1bdc3b2df1857b1 Mon Sep 17 00:00:00 2001 | ||||
| From: Vojtech Trefny <vtrefny@redhat.com> | ||||
| Date: Wed, 17 Aug 2022 14:24:58 +0200 | ||||
| Subject: [PATCH 2/3] Do not read DDF RAID UUID from udev | ||||
| 
 | ||||
| The UUID we get from udev isn't the array UUID, we need to get | ||||
| that using libblockdev. | ||||
| ---
 | ||||
|  blivet/populator/helpers/mdraid.py | 16 ++++++++++------ | ||||
|  1 file changed, 10 insertions(+), 6 deletions(-) | ||||
| 
 | ||||
| diff --git a/blivet/populator/helpers/mdraid.py b/blivet/populator/helpers/mdraid.py
 | ||||
| index 76aebf250..9bec11efb 100644
 | ||||
| --- a/blivet/populator/helpers/mdraid.py
 | ||||
| +++ b/blivet/populator/helpers/mdraid.py
 | ||||
| @@ -98,17 +98,21 @@ class MDFormatPopulator(FormatPopulator):
 | ||||
|   | ||||
|      def _get_kwargs(self): | ||||
|          kwargs = super(MDFormatPopulator, self)._get_kwargs() | ||||
| -        try:
 | ||||
| -            # ID_FS_UUID contains the array UUID
 | ||||
| -            kwargs["md_uuid"] = udev.device_get_uuid(self.data)
 | ||||
| -        except KeyError:
 | ||||
| -            log.warning("mdraid member %s has no md uuid", udev.device_get_name(self.data))
 | ||||
| +        kwargs["biosraid"] = udev.device_is_biosraid_member(self.data)
 | ||||
| +        if not kwargs["biosraid"]:
 | ||||
| +            try:
 | ||||
| +                # ID_FS_UUID contains the array UUID
 | ||||
| +                kwargs["md_uuid"] = udev.device_get_uuid(self.data)
 | ||||
| +            except KeyError:
 | ||||
| +                log.warning("mdraid member %s has no md uuid", udev.device_get_name(self.data))
 | ||||
| +        else:
 | ||||
| +            # for BIOS RAIDs we can't get the UUID from udev, we'll get it from mdadm in `run` below
 | ||||
| +            kwargs["md_uuid"] = None
 | ||||
|   | ||||
|          # reset the uuid to the member-specific value | ||||
|          # this will be None for members of v0 metadata arrays | ||||
|          kwargs["uuid"] = udev.device_get_md_device_uuid(self.data) | ||||
|   | ||||
| -        kwargs["biosraid"] = udev.device_is_biosraid_member(self.data)
 | ||||
|          return kwargs | ||||
|   | ||||
|      def run(self): | ||||
| 
 | ||||
| From 325681bcd40fc4f0e13a4d23c889e1f7cc043cc1 Mon Sep 17 00:00:00 2001 | ||||
| From: Vojtech Trefny <vtrefny@redhat.com> | ||||
| Date: Thu, 17 Mar 2022 15:48:25 +0100 | ||||
| Subject: [PATCH 3/3] Do not crash when a disk populator doesn't return kwargs | ||||
| 
 | ||||
| This happens when trying to use Blivet on a system with a BIOS | ||||
| RAID without dmraid installed. Because we don't fully support | ||||
| BIOS RAIDs using MD the MDBiosRaidDevicePopulator helper fails | ||||
| to get kwargs for the BIOS RAID "disk" and populate fails. | ||||
| ---
 | ||||
|  blivet/populator/helpers/disk.py | 2 ++ | ||||
|  1 file changed, 2 insertions(+) | ||||
| 
 | ||||
| diff --git a/blivet/populator/helpers/disk.py b/blivet/populator/helpers/disk.py
 | ||||
| index 2e5026f7e..9db7b810d 100644
 | ||||
| --- a/blivet/populator/helpers/disk.py
 | ||||
| +++ b/blivet/populator/helpers/disk.py
 | ||||
| @@ -68,6 +68,8 @@ def run(self):
 | ||||
|          log_method_call(self, name=name) | ||||
|   | ||||
|          kwargs = self._get_kwargs() | ||||
| +        if not kwargs:
 | ||||
| +            return
 | ||||
|          device = self._device_class(name, **kwargs) | ||||
|          self._devicetree._add_device(device) | ||||
|          return device | ||||
| @ -23,7 +23,7 @@ Version: 3.4.0 | ||||
| 
 | ||||
| #%%global prerelease .b2 | ||||
| # prerelease, if defined, should be something like .a1, .b1, .b2.dev1, or .c2 | ||||
| Release: 12%{?prerelease}%{?dist} | ||||
| Release: 13%{?prerelease}%{?dist} | ||||
| Epoch: 1 | ||||
| License: LGPLv2+ | ||||
| %global realname blivet | ||||
| @ -50,6 +50,7 @@ Patch16: 0017-Use-LVM-PV-format-current_size-in-LVMVolumeGroupDevi.patch | ||||
| Patch17: 0018-Add-support-for-creating-LVM-cache-pools.patch | ||||
| Patch18: 0019-Fix-util.virt_detect-on-Xen.patch | ||||
| Patch19: 0020-Add-support-for-NPIV-enabled-zFCP-devices.patch | ||||
| Patch20: 0021-DDF-RAID-support-using-mdadm.patch | ||||
| 
 | ||||
| # Versions of required components (done so we make sure the buildrequires | ||||
| # match the requires versions of things). | ||||
| @ -212,6 +213,10 @@ configuration. | ||||
| %endif | ||||
| 
 | ||||
| %changelog | ||||
| * Thu Aug 18 2022 Vojtech Trefny <vtrefny@redhat.com> - 3.4.0-13 | ||||
| - DDF RAID support using mdadm | ||||
|   Resolves: rhbz#2063791 | ||||
| 
 | ||||
| * Mon Jun 20 2022 Vojtech Trefny <vtrefny@redhat.com> - 3.4.0-12 | ||||
| - Add support for NPIV-enabled zFCP devices | ||||
|   Resolves: rhbz#1497087 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user