diff --git a/SOURCES/0026-Update-manpage-NAME-so-whatis-will-work-948424.patch b/SOURCES/0026-Update-manpage-NAME-so-whatis-will-work-948424.patch
new file mode 100644
index 0000000..c955289
--- /dev/null
+++ b/SOURCES/0026-Update-manpage-NAME-so-whatis-will-work-948424.patch
@@ -0,0 +1,25 @@
+From 9dfa4ab406c45abc2f7a7e5e64ce01b4ca9977ed Mon Sep 17 00:00:00 2001
+From: "Brian C. Lane" <bcl@redhat.com>
+Date: Fri, 1 Aug 2014 14:48:13 -0700
+Subject: [PATCH] Update manpage NAME so whatis will work (#948424)
+
+Resolves: rhbz#948424
+---
+ doc/C/parted.8 | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/doc/C/parted.8 b/doc/C/parted.8
+index 689011c..5304375 100644
+--- a/doc/C/parted.8
++++ b/doc/C/parted.8
+@@ -1,6 +1,6 @@
+ .TH PARTED 8 "2007 March 29" parted "GNU Parted Manual"
+ .SH NAME
+-GNU Parted \- a partition manipulation program
++parted \- a partition manipulation program
+ .SH SYNOPSIS
+ .B parted
+ [options] [device [command [options...]...]]
+-- 
+1.9.3
+
diff --git a/SOURCES/0027-GPT-add-support-for-PReP-GUID-1108196.patch b/SOURCES/0027-GPT-add-support-for-PReP-GUID-1108196.patch
new file mode 100644
index 0000000..163eab8
--- /dev/null
+++ b/SOURCES/0027-GPT-add-support-for-PReP-GUID-1108196.patch
@@ -0,0 +1,209 @@
+From cfb23fa541ada431b8225760371bb4d5029893b1 Mon Sep 17 00:00:00 2001
+From: Daniel Battaiola Kreling <dbkreling@br.ibm.com>
+Date: Mon, 7 Oct 2013 11:51:50 +0530
+Subject: [PATCH] GPT: add support for PReP GUID (#1108196)
+
+PReP (PowerPC Reference Platform) boot partition is the first partition used in
+PowerPC platform for containing the bootable kernel or bootloader. The firmware
+searches for this partition and jumps to it for booting. So far no GUID was
+specified for this partition type and hence booting from GPT disk was not
+supported on this platform. A new GUID 9e1a2d38-c612-4316-aa26-8b49521e5a8b for
+PReP partition is proposed to be included in GPT.
+
+Resolves: rhbz#1108196
+
+Signed-off-by: Brian C. Lane <bcl@redhat.com>
+---
+ NEWS                   |  7 +++++++
+ doc/parted.texi        |  2 +-
+ libparted/labels/gpt.c | 37 +++++++++++++++++++++++++++++++++++++
+ 3 files changed, 45 insertions(+), 1 deletion(-)
+
+diff --git a/NEWS b/NEWS
+index 80a62d6..4d30b1b 100644
+--- a/NEWS
++++ b/NEWS
+@@ -1,5 +1,12 @@
+ GNU parted NEWS                                    -*- outline -*-
+ 
++* Noteworthy changes in release 3.1-18 (2014-08-12) [RHEL7.1]
++
++** New features
++
++  Add support for prep flag to GPT to select PowerPC Reference Platform
++  boot partition type.
++
+ * Noteworthy changes in release 3.1-16 (2014-01-22) [RHEL7]
+ 
+ ** Bug Fixes
+diff --git a/doc/parted.texi b/doc/parted.texi
+index 2b1ce64..f10d5e1 100644
+--- a/doc/parted.texi
++++ b/doc/parted.texi
+@@ -823,7 +823,7 @@ physical volume.
+ by the Linux/PA-RISC boot loader, palo.
+ 
+ @item PREP
+-(MS-DOS) - this flag can be enabled so that the partition can be used
++(MS-DOS, GPT) - this flag can be enabled so that the partition can be used
+ as a PReP boot partition on PowerPC PReP or IBM RS6K/CHRP hardware.
+ 
+ @item DIAG
+diff --git a/libparted/labels/gpt.c b/libparted/labels/gpt.c
+index 6ca33c8..f9332bd 100644
+--- a/libparted/labels/gpt.c
++++ b/libparted/labels/gpt.c
+@@ -142,6 +142,10 @@ typedef struct
+     ((efi_guid_t) { PED_CPU_TO_LE32 (0x5265636F), PED_CPU_TO_LE16 (0x7665), \
+                     PED_CPU_TO_LE16 (0x11AA), 0xaa, 0x11, \
+                     { 0x00, 0x30, 0x65, 0x43, 0xEC, 0xAC }})
++#define PARTITION_PREP_GUID \
++    ((efi_guid_t) { PED_CPU_TO_LE32 (0x9e1a2d38), PED_CPU_TO_LE16 (0xc612), \
++                    PED_CPU_TO_LE16 (0x4316), 0xaa, 0x26, \
++                    { 0x8b, 0x49, 0x52, 0x1e, 0x5a, 0x8b }})
+ 
+ struct __attribute__ ((packed)) _GuidPartitionTableHeader_t
+ {
+@@ -283,6 +287,7 @@ typedef struct _GPTPartitionData
+   int atvrecv;
+   int msftrecv;
+   int legacy_boot;
++  int prep;
+ } GPTPartitionData;
+ 
+ static PedDiskType gpt_disk_type;
+@@ -782,6 +787,7 @@ _parse_part_entry (PedDisk *disk, GuidPartitionEntry_t *pte)
+     = gpt_part_data->hidden = gpt_part_data->msftres
+     = gpt_part_data->msftrecv
+     = gpt_part_data->legacy_boot
++    = gpt_part_data->prep
+     = gpt_part_data->bios_grub = gpt_part_data->atvrecv = 0;
+ 
+   if (pte->Attributes.RequiredToFunction & 0x1)
+@@ -805,6 +811,8 @@ _parse_part_entry (PedDisk *disk, GuidPartitionEntry_t *pte)
+     gpt_part_data->msftrecv = 1;
+   else if (!guid_cmp (gpt_part_data->type, PARTITION_APPLE_TV_RECOVERY_GUID))
+     gpt_part_data->atvrecv = 1;
++  else if (!guid_cmp (gpt_part_data->type, PARTITION_PREP_GUID))
++    gpt_part_data->prep = 1;
+ 
+   return part;
+ }
+@@ -1321,6 +1329,7 @@ gpt_partition_new (const PedDisk *disk,
+   gpt_part_data->msftrecv = 0;
+   gpt_part_data->atvrecv = 0;
+   gpt_part_data->legacy_boot = 0;
++  gpt_part_data->prep = 0;
+   uuid_generate ((unsigned char *) &gpt_part_data->uuid);
+   swap_uuid_and_efi_guid ((unsigned char *) (&gpt_part_data->uuid));
+   memset (gpt_part_data->name, 0, sizeof gpt_part_data->name);
+@@ -1394,6 +1403,11 @@ gpt_partition_set_system (PedPartition *part,
+       gpt_part_data->type = PARTITION_RAID_GUID;
+       return 1;
+     }
++  if (gpt_part_data->prep)
++    {
++      gpt_part_data->type = PARTITION_PREP_GUID;
++      return 1;
++    }
+   if (gpt_part_data->boot)
+     {
+       gpt_part_data->type = PARTITION_SYSTEM_GUID;
+@@ -1564,6 +1578,7 @@ gpt_partition_set_flag (PedPartition *part, PedPartitionFlag flag, int state)
+           = gpt_part_data->hp_service
+           = gpt_part_data->msftres
+           = gpt_part_data->msftrecv
++          = gpt_part_data->prep
+           = gpt_part_data->atvrecv = 0;
+       return gpt_partition_set_system (part, part->fs_type);
+     case PED_PARTITION_BIOS_GRUB:
+@@ -1575,6 +1590,7 @@ gpt_partition_set_flag (PedPartition *part, PedPartitionFlag flag, int state)
+           = gpt_part_data->hp_service
+           = gpt_part_data->msftres
+           = gpt_part_data->msftrecv
++          = gpt_part_data->prep
+           = gpt_part_data->atvrecv = 0;
+       return gpt_partition_set_system (part, part->fs_type);
+     case PED_PARTITION_RAID:
+@@ -1586,6 +1602,7 @@ gpt_partition_set_flag (PedPartition *part, PedPartitionFlag flag, int state)
+           = gpt_part_data->hp_service
+           = gpt_part_data->msftres
+           = gpt_part_data->msftrecv
++          = gpt_part_data->prep
+           = gpt_part_data->atvrecv = 0;
+       return gpt_partition_set_system (part, part->fs_type);
+     case PED_PARTITION_LVM:
+@@ -1597,6 +1614,7 @@ gpt_partition_set_flag (PedPartition *part, PedPartitionFlag flag, int state)
+           = gpt_part_data->hp_service
+           = gpt_part_data->msftres
+           = gpt_part_data->msftrecv
++          = gpt_part_data->prep
+           = gpt_part_data->atvrecv = 0;
+       return gpt_partition_set_system (part, part->fs_type);
+     case PED_PARTITION_HPSERVICE:
+@@ -1608,6 +1626,7 @@ gpt_partition_set_flag (PedPartition *part, PedPartitionFlag flag, int state)
+           = gpt_part_data->bios_grub
+           = gpt_part_data->msftres
+           = gpt_part_data->msftrecv
++          = gpt_part_data->prep
+           = gpt_part_data->atvrecv = 0;
+       return gpt_partition_set_system (part, part->fs_type);
+     case PED_PARTITION_MSFT_RESERVED:
+@@ -1619,6 +1638,7 @@ gpt_partition_set_flag (PedPartition *part, PedPartitionFlag flag, int state)
+           = gpt_part_data->bios_grub
+           = gpt_part_data->hp_service
+           = gpt_part_data->msftrecv
++          = gpt_part_data->prep
+           = gpt_part_data->atvrecv = 0;
+       return gpt_partition_set_system (part, part->fs_type);
+     case PED_PARTITION_DIAG:
+@@ -1630,6 +1650,7 @@ gpt_partition_set_flag (PedPartition *part, PedPartitionFlag flag, int state)
+           = gpt_part_data->bios_grub
+           = gpt_part_data->hp_service
+           = gpt_part_data->msftres
++          = gpt_part_data->prep
+           = gpt_part_data->atvrecv = 0;
+       return gpt_partition_set_system (part, part->fs_type);
+     case PED_PARTITION_APPLE_TV_RECOVERY:
+@@ -1641,8 +1662,21 @@ gpt_partition_set_flag (PedPartition *part, PedPartitionFlag flag, int state)
+           = gpt_part_data->bios_grub
+           = gpt_part_data->hp_service
+           = gpt_part_data->msftres
++          = gpt_part_data->prep
+           = gpt_part_data->msftrecv = 0;
+       return gpt_partition_set_system (part, part->fs_type);
++    case PED_PARTITION_PREP:
++      gpt_part_data->prep = state;
++      if (state)
++        gpt_part_data->boot
++          = gpt_part_data->raid
++          = gpt_part_data->lvm
++          = gpt_part_data->bios_grub
++          = gpt_part_data->hp_service
++          = gpt_part_data->msftres
++          = gpt_part_data->msftrecv
++          = gpt_part_data->atvrecv = 0;
++      return gpt_partition_set_system (part, part->fs_type);
+     case PED_PARTITION_HIDDEN:
+       gpt_part_data->hidden = state;
+       return 1;
+@@ -1687,6 +1721,8 @@ gpt_partition_get_flag (const PedPartition *part, PedPartitionFlag flag)
+       return gpt_part_data->hidden;
+     case PED_PARTITION_LEGACY_BOOT:
+       return gpt_part_data->legacy_boot;
++    case PED_PARTITION_PREP:
++      return gpt_part_data->prep;
+     case PED_PARTITION_SWAP:
+     case PED_PARTITION_LBA:
+     case PED_PARTITION_ROOT:
+@@ -1712,6 +1748,7 @@ gpt_partition_is_flag_available (const PedPartition *part,
+     case PED_PARTITION_APPLE_TV_RECOVERY:
+     case PED_PARTITION_HIDDEN:
+     case PED_PARTITION_LEGACY_BOOT:
++    case PED_PARTITION_PREP:
+       return 1;
+     case PED_PARTITION_SWAP:
+     case PED_PARTITION_ROOT:
+-- 
+1.9.3
+
diff --git a/SOURCES/0028-libparted-reread-part-table-with-0-partitions-113846.patch b/SOURCES/0028-libparted-reread-part-table-with-0-partitions-113846.patch
new file mode 100644
index 0000000..137e3dc
--- /dev/null
+++ b/SOURCES/0028-libparted-reread-part-table-with-0-partitions-113846.patch
@@ -0,0 +1,31 @@
+From 22f857bb8f57438ec6f34876e1933df01b448044 Mon Sep 17 00:00:00 2001
+From: Fedora Ninjas <parted-owner@fedoraproject.org>
+Date: Wed, 24 Sep 2014 15:59:47 -0700
+Subject: [PATCH] libparted: reread part table with 0 partitions (#1138465)
+
+After removing the last partition it still needs to be able to rescan
+the partition table, otherwise device-mapper (and in this case mpath) is
+never told that the last partition was removed.
+
+Resolves: rhbz#1138465
+---
+ libparted/arch/linux.c | 3 ---
+ 1 file changed, 3 deletions(-)
+
+diff --git a/libparted/arch/linux.c b/libparted/arch/linux.c
+index 4af0d5c..4daa881 100644
+--- a/libparted/arch/linux.c
++++ b/libparted/arch/linux.c
+@@ -2878,9 +2878,6 @@ static int
+ _dm_reread_part_table (PedDisk* disk)
+ {
+         int largest_partnum = ped_disk_get_last_partition_num (disk);
+-        if (largest_partnum <= 0)
+-          return 1;
+-
+         int     rc = 1;
+         int     i;
+ 
+-- 
+1.9.3
+
diff --git a/SOURCES/0029-tests-Change-minimum-size-to-256MiB.patch b/SOURCES/0029-tests-Change-minimum-size-to-256MiB.patch
new file mode 100644
index 0000000..5fd7d06
--- /dev/null
+++ b/SOURCES/0029-tests-Change-minimum-size-to-256MiB.patch
@@ -0,0 +1,27 @@
+From c4bf408e794c3e2df85539e7d561da51a8ae2cad Mon Sep 17 00:00:00 2001
+From: "Brian C. Lane" <bcl@redhat.com>
+Date: Fri, 7 Nov 2014 11:15:55 -0800
+Subject: [PATCH] tests: Change minimum size to 256MiB
+
+btrfs on ppc64 wants 136MiB so expand the minimum temp filesystem size
+for the t1700-probe-fs test.
+---
+ tests/t1700-probe-fs.sh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/tests/t1700-probe-fs.sh b/tests/t1700-probe-fs.sh
+index 575ca24..83e6be4 100755
+--- a/tests/t1700-probe-fs.sh
++++ b/tests/t1700-probe-fs.sh
+@@ -28,7 +28,7 @@ for type in ext2 ext3 ext4 btrfs xfs nilfs2; do
+       || { warn_ "$ME: no $type support"; continue; }
+ 
+   case $type in ext*) n_sectors=8000 force=-F;;
+-      *) n_sectors=$((257*1024)) force=;; esac
++      *) n_sectors=$((512*1024)) force=;; esac
+ 
+   # create an $type file system
+   if [ "$type" == "xfs" ]; then
+-- 
+1.9.3
+
diff --git a/SPECS/parted.spec b/SPECS/parted.spec
index 1510f6e..3bd638e 100644
--- a/SPECS/parted.spec
+++ b/SPECS/parted.spec
@@ -4,7 +4,7 @@
 Summary: The GNU disk partition manipulation program
 Name:    parted
 Version: 3.1
-Release: 17%{?dist}
+Release: 20%{?dist}
 License: GPLv3+
 Group:   Applications/System
 URL:     http://www.gnu.org/software/parted
@@ -41,6 +41,10 @@ Patch22: 0022-tests-Increase-size-of-container-filesystem-in-t4100.patch
 Patch23: 0023-tests-Disable-t4100-dvh-test-for-now-1036093.patch
 Patch24: 0024-libparted-make-sure-not-to-treat-percentages-as-exac.patch
 Patch25: 0025-tests-Use-mkfs.xfs-to-create-files-1036152.patch
+Patch26: 0026-Update-manpage-NAME-so-whatis-will-work-948424.patch
+Patch27: 0027-GPT-add-support-for-PReP-GUID-1108196.patch
+Patch28: 0028-libparted-reread-part-table-with-0-partitions-113846.patch
+Patch29: 0029-tests-Change-minimum-size-to-256MiB.patch
 
 Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 BuildRequires: e2fsprogs-devel
@@ -176,6 +180,20 @@ fi
 
 
 %changelog
+* Tue Nov 25 2014 Brian C. Lane <bcl@redhat.com> 3.1-20
+- t1700-fs test: Change minimum size to 256MiB
+  Resolves: rhbz#1167785
+
+* Wed Sep 24 2014 Brian C. Lane <bcl@redhat.com> 3.1-19
+- Remove dm device when last partition is removed
+  Resolves: rhbz#1138465
+
+* Tue Aug 12 2014 Brian C. Lane <bcl@redhat.com> 3.1-18
+- Fix manpage NAME so whatis works with parted
+  Resolves: rhbz#948424
+- GPT add support for PReP GUID
+  Resolves: rhbz#1108196
+
 * Fri Jan 24 2014 Daniel Mach <dmach@redhat.com> - 3.1-17
 - Mass rebuild 2014-01-24