Hi Christophe, the latest kpartx generates wrong mapping for MS-DOS extended partitions. Attached patch fixes the problem. Please consider to apply. Consider you created the following partition table. # parted /dev/sdc p Disk geometry for /dev/sdc: 0.000-34686.000 megabytes Disk label type: msdos Minor Start End Type Filesystem Flags 1 0.031 7.844 primary 2 7.844 31.376 extended 5 7.875 23.532 logical 6 23.563 31.376 logical kpartx should generate the following mappings: # dmsetup table|grep sdc|sort sdc1: 0 16002 linear 8:32 63 sdc5: 0 32067 linear 8:32 16128 sdc6: 0 16002 linear 8:32 48258 However, actually it generates: # dmsetup table|grep sdc|sort sdc1: 0 16002 linear 8:32 63 sdc5: 0 32067 linear 8:32 16128 sdc6: 0 16065 linear 8:32 80325 sdc7: 0 16002 linear 8:32 48258 Thanks, Nick
Don't count (hidden) extended partition table entry as partition. Otherwise, kpartx cause inconsistent numbering of partitions and also generate useless/misleading mappings for such entries. DOS extended partition is implemented by chain of 2-slot tables. Both Linux kernel and fdisk/parted doesn't count the link to the next extended partition table as single partition. --- multipath-tools.orig/kpartx/dos.c 2005-12-01 08:36:57.000000000 +0900 +++ multipath-tools/kpartx/dos.c 2005-12-02 04:06:25.000000000 +0900 @@ -47,8 +47,7 @@ read_extended_partition(int fd, struct p here = start + le32_to_cpu(p.start_sect); moretodo = 1; } - else - continue; + continue; } if (n < ns) { sp[n].start = here + le32_to_cpu(p.start_sect);
-- dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel