On Sun, Jan 03, 2010 at 01:30:56PM -0700, Curtis Gedak wrote: > Note: This is a repost of my email on Dec 21, 2009 which appears to > have been held up due to the size of attachments. As such I am > reposting with no attachments. > ------------------------------ > > > I am seeking help to resolve a intermittent problem when using the > libparted library. > > > PROBLEM > > The problem is that on newer GNU/Linux distributions, the libparted > library occasionally reports the following error message: > > The kernel was unable to re-read the partition table on /dev/sdb > (Device or resource busy). This means Linux won't know anything > about the modifications you made until you reboot. You should > reboot your computer before doing anything with /dev/sdb. > [ .... ]
Hi, I'm not sure, but it might be the same issue as discussed here: https://bugzilla.novell.com/show_bug.cgi?id=539521 Comment #16 mentions two commits from parted-git; after posting this comment, I found out that these two are not always enough to fix the issue, so please add the quick and dirty patch attached to this mail. With these three patches, I was not able to reproduce -EBUSY anymore. HTH, -- Best regards / s pozdravem Petr Uzel, openSUSE Boosters Team ----------------------------------------------------------------- SUSE LINUX, s.r.o. e-mail: [email protected] Lihovarská 1060/12 http://www.suse.cz 190 00 Prague 9, CR
---
libparted/arch/linux.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
Index: parted-1.9.0/libparted/arch/linux.c
===================================================================
--- parted-1.9.0.orig/libparted/arch/linux.c 2009-12-11 12:04:43.000000000 +0100
+++ parted-1.9.0/libparted/arch/linux.c 2009-12-11 12:10:22.000000000 +0100
@@ -2224,7 +2224,9 @@ _blkpg_part_command (PedDevice* dev, str
ioctl_arg.datalen = sizeof (struct blkpg_partition);
ioctl_arg.data = (void*) part;
- return ioctl (arch_specific->fd, BLKPG, &ioctl_arg) == 0;
+ int ret = (ioctl (arch_specific->fd, BLKPG, &ioctl_arg) == 0);
+ system("/sbin/udevadm settle");
+ return ret;
}
static int
pgpFdyZfsI2g5.pgp
Description: PGP signature
_______________________________________________ parted-devel mailing list [email protected] http://lists.alioth.debian.org/mailman/listinfo/parted-devel

