Description of problem: sfdisk has changed its command line, so now running this test (or using the guestfs_part_set_mbr_id API) fails with: libguestfs: trace: part_set_mbr_id "/dev/sda" 1 127 05 seconds guestfsd: main_loop: new request, len 0x3c udevadm --debug settle calling: settle sfdisk --change-id /dev/sda 1 7f sfdisk: change-id is deprecated in favour of ---part-type sfdisk: --id s deprecated in favour of ---part-type sfdisk: failed to parse dos partition type '7f' [ 2.592464] sda: sda1 guestfsd: error: sfdisk --change-id: sfdisk: change-id is deprecated in favour of ---part-type sfdisk: --id s deprecated in favour of ---part-type sfdisk: failed to parse dos partition type '7f' guestfsd: main_loop: proc 236 (part_set_mbr_id) took 0.01 seconds libguestfs: trace: part_set_mbr_id = -1 (error) libguestfs: error: part_set_mbr_id: sfdisk --change-id: sfdisk: change-id is deprecated in favour of ---part-type sfdisk: --id s deprecated in favour of ---part-type sfdisk: failed to parse dos partition type '7f' FAIL: test_part_get_mbr_id_0 A simple one-line reproducer is: $ guestfish -N fs part-set-mbr-id /dev/sda 1 127 libguestfs: error: part_set_mbr_id: sfdisk --change-id: sfdisk: change-id is deprecated in favour of ---part-type sfdisk: --id s deprecated in favour of ---part-type sfdisk: failed to parse dos partition type '7f' Version-Release number of selected component (if applicable): libguestfs-1.29.20 However the problematic package is sfdisk: util-linux-2.26-0.2.fc22.x86_64 How reproducible: 100% Steps to Reproduce: 1. guestfish -N fs part-set-mbr-id /dev/sda 1 127
I have skipped this test in Rawhide for now.
Aside the deprecated command line option (which is easy to switch to the new option), the real problem here is that the new sfdisk in util-linux 2.26 reject unknown partition types, hence the "7f" triggers an error: 151: libfdisk: PARTTYPE: [0x1f0b5d0]: returns parsed 'unknown' partition type sfdisk: failed to parse dos partition type '0x7f' (when enabling debug, i.e. exporting SFDISK_DEBUG=all and LIBFDISK_DEBUG=all) While this can make sense, because for older partition types there are really no unknown partition types, on the other hand it might be useful to force a partition type which libsfdisk does not known about (say a new gpt type).
(In reply to Pino Toscano from comment #2) > Aside the deprecated command line option (which is easy to switch to the new > option), the real problem here is that the new sfdisk in util-linux 2.26 > reject unknown partition types, hence the "7f" triggers an error: > > 151: libfdisk: PARTTYPE: [0x1f0b5d0]: returns parsed 'unknown' partition > type > sfdisk: failed to parse dos partition type '0x7f' This is bug. Fixed by upstream commit aaa0ba88b4afd328e13e9dd79a0df99d7fb76fbd. # sfdisk --part-type /dev/sdb 1 0x7f The partition table has been altered. Calling ioctl() to re-read partition table. Syncing disks. # sfdisk --list /dev/sdb Disk /dev/sdb: 100 MiB, 104857600 bytes, 204800 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 32768 bytes Disklabel type: dos Disk identifier: 0x941f0074 Device Boot Start End Sectors Size Id Type /dev/sdb1 2048 22527 20480 10M 7f unknown /dev/sdb2 22528 204799 182272 89M c W95 FAT32 (LBA) Thanks! (Fedora package will be updated ASAP (after -rc2 release).)