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" <bcl@redhat.com>
+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 <mihajlov@linux.ibm.com>
+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 <mihajlov@linux.ibm.com>
+Signed-off-by: Brian C. Lane <bcl@redhat.com>
+---
+ 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, &sector_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 <bcl@redhat.com> - 3.2-38
+- libparted: Re-enabled virtio-attached DASD heuristics on s390
+  Resolves: rhbz#1750663
+
+* Fri Jan 11 2019 Brian C. Lane <bcl@redhat.com> - 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 <bcl@redhat.com> - 3.2-36
 - Fix strncpy fix, always add NULL terminator
   Resolves: rhbz#1615635