X-Git-Url: http://git.annexia.org/?a=blobdiff_plain;f=daemon%2Fsfdisk.c;h=ec77465317b1afea57069740eede495560e2303f;hb=4d900cdac8258daa2e99c6ceb2a4985154e94150;hp=20d7dc82d640c867284d5b69ed9d2af165b0c317;hpb=9e0b31a2af26b8d58a44dd80993a5e73d4942307;p=libguestfs.git diff --git a/daemon/sfdisk.c b/daemon/sfdisk.c index 20d7dc8..ec77465 100644 --- a/daemon/sfdisk.c +++ b/daemon/sfdisk.c @@ -89,6 +89,20 @@ sfdisk (const char *device, int n, int cyls, int heads, int sectors, return -1; } + /* sfdisk sometimes fails on fast machines with: + * + * Re-reading the partition table ... + * BLKRRPART: Device or resource busy + * The command to re-read the partition table failed. + * Run partprobe(8), kpartx(8) or reboot your system now, + * before using mkfs + * + * Unclear if this is a bug in sfdisk or the kernel or some + * other component. In any case, reread the partition table + * unconditionally here. + */ + (void) command (NULL, NULL, "blockdev", "--rereadpt", NULL); + udev_settle (); return 0;