Subject: [PATCH] Sync partitions > 16
From: Phillip Susi <[email-masked]>
To: [email-masked]
Date: Mon, 23 Dec 2013 15:28:22 -0500
List-Id: <debbugs-submit.debbugs.gnu.org>

The linux partition sync code was hard coded to only 16 partitions.
---
 NEWS                   | 3 +++
 libparted/arch/linux.c | 3 ++-
 2 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/NEWS b/NEWS
index 816fb57..2d0c6b9 100644
--- a/NEWS
+++ b/NEWS
@@ -12,6 +12,9 @@ GNU parted NEWS                                    -*- outline -*-
   boot partition type.
 
 ** Bug Fixes
+
+  Fix linux partition sync code to include partitions > 16
+
   Fix several bugs with loop labels ( whole disk filesystems )
 
   Fix gpt to correctly handle non ASCII charcters in partition names
diff --git a/libparted/arch/linux.c b/libparted/arch/linux.c
index 8a09763..6d3234e 100644
--- a/libparted/arch/linux.c
+++ b/libparted/arch/linux.c
@@ -1567,6 +1567,7 @@ _flush_cache (PedDevice* dev)
 {
         LinuxSpecific*  arch_specific = LINUX_SPECIFIC (dev);
         int             i;
+	int             lpn = _device_get_partition_range(dev);
 
         if (dev->read_only)
                 return;
@@ -1574,7 +1575,7 @@ _flush_cache (PedDevice* dev)
 
         ioctl (arch_specific->fd, BLKFLSBUF);
 
-        for (i = 1; i < 16; i++) {
+        for (i = 1; i < lpn; i++) {
                 char*           name;
                 int             fd;
 
-- 
1.8.3.2