I used to use parted 1.7.7 as this was what was shipped by Ubuntu and
Debian up until very recently. I used parted to add a partition table to
disk images that I'd be using for virtual machines.  
When parted was updated to 1.8.8, this stopped working, since parted
fails if telling the kernel to reread the partition table for the device
in question fails. However, for disk images this makes little sense.

This patch makes libparted consider (ioctl(fd, BLKRRPART) || errno
== EINVAL) succesful.

Signed-off-by: Soren Hansen <[EMAIL PROTECTED]>

diff -urNad parted-1.8.8.git.2008.03.24~/libparted/arch/linux.c 
parted-1.8.8.git.2008.03.24/libparted/arch/linux.c
--- parted-1.8.8.git.2008.03.24~/libparted/arch/linux.c 2008-08-05 
17:02:18.151661314 +0200
+++ parted-1.8.8.git.2008.03.24/libparted/arch/linux.c  2008-08-05 
17:02:47.096662006 +0200
@@ -2454,7 +2467,7 @@
         int             retry_count = 5;
 
         sync();
-        while (ioctl (arch_specific->fd, BLKRRPART)) {
+        while (ioctl (arch_specific->fd, BLKRRPART) || errno == EINVAL) {
                 retry_count--;
                 sync();
                 if (!retry_count) {


-- 
Soren Hansen               | 
Virtualisation specialist  | Ubuntu Server Team
Canonical Ltd.             | http://www.ubuntu.com/

Attachment: signature.asc
Description: Digital signature

_______________________________________________
bug-parted mailing list
bug-parted@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-parted

Reply via email to