diff --git a/SOURCES/0089-t6000-dm-Stop-using-private-lvm-root.patch b/SOURCES/0089-t6000-dm-Stop-using-private-lvm-root.patch new file mode 100644 index 0000000..03d4b4e --- /dev/null +++ b/SOURCES/0089-t6000-dm-Stop-using-private-lvm-root.patch @@ -0,0 +1,40 @@ +From dd07c39b0845bd8542fc38e92da84a5180ad37dc Mon Sep 17 00:00:00 2001 +From: "Brian C. Lane" +Date: Fri, 11 Jan 2019 12:13:46 -0800 +Subject: [PATCH] t6000-dm: Stop using private lvm root + +On Fedora 30 it has stopped working, and really isn't necessary as long +as our device names are unique. + +Related: rhbz#1653912 +--- + tests/t6000-dm.sh | 6 +----- + 1 file changed, 1 insertion(+), 5 deletions(-) + +diff --git a/tests/t6000-dm.sh b/tests/t6000-dm.sh +index 5b29660..c260b96 100755 +--- a/tests/t6000-dm.sh ++++ b/tests/t6000-dm.sh +@@ -19,10 +19,6 @@ + . "${srcdir=.}/init.sh"; path_prepend_ ../parted + + require_root_ +-lvm_init_root_dir_ +- +-test "x$ENABLE_DEVICE_MAPPER" = xyes \ +- || skip_ "no device-mapper support" + + # Device maps names - should be random to not conflict with existing ones on + # the system +@@ -71,7 +67,7 @@ for type in linear ; do + + # setup: create a mapping + echo "$dmsetup_cmd" | dmsetup create "$type_kwd" || fail=1 +- dev="$DM_DEV_DIR/mapper/$type_kwd" ++ dev="/dev/mapper/$type_kwd" + + # Create msdos partition table + parted -s $dev mklabel msdos > out 2>&1 || fail=1 +-- +2.20.1 + diff --git a/SOURCES/0090-libparted-s390-Re-enabled-virtio-attached-DASD-heuri.patch b/SOURCES/0090-libparted-s390-Re-enabled-virtio-attached-DASD-heuri.patch new file mode 100644 index 0000000..b20a917 --- /dev/null +++ b/SOURCES/0090-libparted-s390-Re-enabled-virtio-attached-DASD-heuri.patch @@ -0,0 +1,55 @@ +From d74cd53b7a0db94e08c9e034bdf9d59273ada723 Mon Sep 17 00:00:00 2001 +From: Viktor Mihajlovski +Date: Fri, 27 Sep 2019 18:34:46 +0300 +Subject: [PATCH] libparted/s390: Re-enabled virtio-attached DASD heuristics + +DASDs attached to KVM guest as virtio-blk devices are only handled +properly, if the unique DASD geometry is detected. Commit id +61dd3d4c5eb782eb43caa95342e63727db3f8281 has prevented proper geometry +detection. Fixed by making sure that HDIO_GETGEO takes precedence +on s390[x]. + +Signed-off-by: Viktor Mihajlovski +Signed-off-by: Brian C. Lane +--- + libparted/arch/linux.c | 13 ++++++++++--- + 1 file changed, 10 insertions(+), 3 deletions(-) + +diff --git a/libparted/arch/linux.c b/libparted/arch/linux.c +index 7771a8b..a40e9f8 100644 +--- a/libparted/arch/linux.c ++++ b/libparted/arch/linux.c +@@ -867,6 +867,7 @@ _device_probe_geometry (PedDevice* dev) + LinuxSpecific* arch_specific = LINUX_SPECIFIC (dev); + struct stat dev_stat; + struct hd_geometry geometry; ++ int geometry_is_valid = 0; + int sector_size = 0; + + if (!_device_stat (dev, &dev_stat)) +@@ -884,13 +885,19 @@ _device_probe_geometry (PedDevice* dev) + dev->bios_geom.heads = 0; + dev->bios_geom.cylinders = 0; + ++ geometry_is_valid = !ioctl (arch_specific->fd, HDIO_GETGEO, &geometry) ++ && geometry.sectors && geometry.heads; ++ ++#if defined __s390__ || defined __s390x__ ++ if (geometry_is_valid) { ++#else + if (!ioctl (arch_specific->fd, BLKSSZGET, §or_size)) { + /* get the sector count first */ + dev->bios_geom.sectors = 1 + (sector_size / PED_SECTOR_SIZE_DEFAULT); + dev->bios_geom.heads = 255; +- } else if (!ioctl (arch_specific->fd, HDIO_GETGEO, &geometry) +- && geometry.sectors && geometry.heads) { +- /* if BLKSSZGET failed, try the deprecated HDIO_GETGEO */ ++ } else if (geometry_is_valid) { ++ /* if BLKSSZGET failed, use deprecated HDIO_GETGEO result */ ++#endif + dev->bios_geom.sectors = geometry.sectors; + dev->bios_geom.heads = geometry.heads; + } else { +-- +2.21.0 + diff --git a/SPECS/parted.spec b/SPECS/parted.spec index d8d1c9e..a004fa2 100644 --- a/SPECS/parted.spec +++ b/SPECS/parted.spec @@ -4,7 +4,7 @@ Summary: The GNU disk partition manipulation program Name: parted Version: 3.2 -Release: 36%{?dist} +Release: 38%{?dist} License: GPLv3+ Group: Applications/System URL: http://www.gnu.org/software/parted @@ -109,6 +109,8 @@ Patch0086: 0086-parted.c-Make-sure-dev_name-is-freed.patch # Fix a test bug using newer mdraid metadata formats Patch0087: 0087-t6100-mdraid-partitions-Use-v0.90-metadata-for-the-t.patch Patch0088: 0088-linux.c-Use-sys-sysmacros.h-for-major-minor.patch +Patch0089: 0089-t6000-dm-Stop-using-private-lvm-root.patch +Patch0090: 0090-libparted-s390-Re-enabled-virtio-attached-DASD-heuri.patch Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: gcc @@ -245,6 +247,16 @@ fi %changelog +* Thu Sep 26 2019 Brian C. Lane - 3.2-38 +- libparted: Re-enabled virtio-attached DASD heuristics on s390 + Resolves: rhbz#1750663 + +* Fri Jan 11 2019 Brian C. Lane - 3.2-37 +- Add CI tests + Resolves: rhbz#1653912 +- t6000-dm: Stop using private lvm root + Related: rhbz#1653912 + * Tue Aug 14 2018 Brian C. Lane - 3.2-36 - Fix strncpy fix, always add NULL terminator Resolves: rhbz#1615635