Hi, Danny Milosavljevic skribis: > environment variable `PATH' set to `/gnu/store/j3jlpncfqvykkq6sx7h4ly1rdcr2a8qq' > creating partition table with 2 partitions (20.0 MiB, 40.0 MiB)... > Error: Partition(s) 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, . [...] > 1. &invoke-error: > program: "parted" > arguments: ("--script" "/dev/vda" "mklabel" "msdos" "mkpart" "primary" "e) > exit-status: 1 > term-signal: #f > stop-signal: #f The code in question in Parted: --8<---------------cut here---------------start------------->8--- if (!add_partition (disk, part)) { ok[i - 1] = 0; errnums[i - 1] = errno; } […] char *bad_part_list = NULL; /* now warn about any errors */ for (i = 1; i <= lpn; i++) { if (ok[i - 1] || errnums[i - 1] == ENXIO) continue; if (bad_part_list == NULL) { bad_part_list = malloc (lpn * 5); if (!bad_part_list) goto cleanup; bad_part_list[0] = 0; } sprintf (bad_part_list + strlen (bad_part_list), "%d, ", i); } if (bad_part_list == NULL) ret = 1; else { bad_part_list[strlen (bad_part_list) - 2] = 0; if (ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_IGNORE_CANCEL, _("Partition(s) %s on %s have been written, but we have " "been unable to inform the kernel of the change, " "probably because it/they are in use. As a result, " "the old partition(s) will remain in use. You " "should reboot now before making further changes."), bad_part_list, disk->dev->path) == PED_EXCEPTION_IGNORE) ret = 1; free (bad_part_list); } --8<---------------cut here---------------end--------------->8--- With the patch below, I strace’d ‘parted’, which gives: --8<---------------cut here---------------start------------->8--- $ make check-system TESTS=basic […] ioctl(3, BLKPG, {op=BLKPG_DEL_PARTITION, flags=0, datalen=152, data={start=0, length=0, pno=253, devname="", volname=""}}) = -1 ENOMEM (Cannot allocate memory) ioctl(3, BLKPG, {op=BLKPG_DEL_PARTITION, flags=0, datalen=152, data={start=0, length=0, pno=254, devname="", volname=""}}) = -1 ENOMEM (Cannot allocate memory) ioctl(3, BLKPG, {op=BLKPG_DEL_PARTITION, flags=0, datalen=152, data={start=0, length=0, pno=255, devname="", volname=""}}) = -1 ENOMEM (Cannot allocate memory) ioctl(3, BLKPG, {op=BLKPG_DEL_PARTITION, flags=0, datalen=152, data={start=0, length=0, pno=256, devname="", volname=""}}) = -1 ENOMEM (Cannot allocate memory) write(2, "Error", 5Error) = 5 write(2, ": ", 2: ) = 2 write(2, "Partition(s) 1, 2, 3, 4, 5, 6, 7"..., 495Partition(s) 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64 on /dev/vda have been written, but we have been unable to inform the kernel of the change, probably because it/they are in use. As a result, the old partition(s) will remain in use. You should reboot now before making further changes.) = 495 write(2, "\n", 1 ) = 1 --8<---------------cut here---------------end--------------->8--- So I threw more virtual RAM at it: