Package: parted Version: 2.3-9 Severity: normal Hi, GPT, 23 partitions).
I am currently having some trouble with partprobing a device created via dmsetup. It basically consists of my normal /dev/sda with a few sectors exchanged. My /dev/sda uses GPT and has more than 16 partitions. Now doing a partprobe on the newly created /dev/mapper/testdisk only creates a /dev/mapper/testdisk1 to /dev/mapper/testdisk16, the other ones are missing. The issue should be reproduceable with the attached test script. The wget'ed or in this email attached raw disk image (32MB, 6KB compressed) consists of 23 zero'ed 1MiB partitions with a GPT and fails this test script for me. I also tried upgrading parted/libparted0debian1 to 3.1, but the issue still remained. Cheers, Linus -- System Information: Debian Release: wheezy/sid APT prefers unstable APT policy: (500, 'unstable') Architecture: amd64 (x86_64) Kernel: Linux 3.2.0-2-amd64 (SMP w/2 CPU cores) Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/bash Versions of packages parted depends on: ii libblkid1 2.20.1-4 ii libc6 2.13-27 ii libdevmapper1.02.1 2:1.02.67-2 ii libparted0debian1 2.3-9 ii libreadline6 6.2-8 ii libtinfo5 5.9-5 ii libuuid1 2.20.1-4 parted recommends no packages. Versions of packages parted suggests: pn parted-doc <none> -- debconf-show failed
#!/bin/sh NAME="testdisk" ## Cleanup device mapper for i in `seq 1 32`; do [ -e /dev/mapper/$NAME$i ] && { dmsetup remove $NAME$i [ -e /dev/mapper/$NAME$i ] && rm /dev/mapper/$NAME$i } [ -e /dev/mapper/${NAME}p$i ] && { dmsetup remove ${NAME}p$i [ -e /dev/mapper/${NAME}p$i ] && rm /dev/mapper/${NAME}p$i } done [ -e /dev/mapper/$NAME ] && dmsetup remove $NAME ## Cleanup loop device LOOPDEV="`losetup -a | grep "/tmp/$NAME" | cut -f1 -d':'`" [ -n "$LOOPDEV" ] && losetup -d $LOOPDEV ## Setup loop device wget -q http://x-realis.dyndns.org/parted/testdisk.xz -O - | xz -d > /tmp/$NAME losetup -f /tmp/$NAME LOOPDEV="`losetup -a | grep "/tmp/$NAME" | cut -f1 -d':'`" ## Setup device mapper echo "0 $((2**25/512)) linear $LOOPDEV 0" | dmsetup create $NAME ## Probe partition table RETPARTPROBE="`partprobe -s /dev/mapper/$NAME`" echo $RETPARTPROBE COUNTPARTPROBE="`echo $RETPARTPROBE | sed "s#/dev/mapper/$NAME: gpt partitions##" | wc -w`" ls /dev/mapper/$NAME* COUNTLS=$((`ls /dev/mapper/$NAME* | wc -w`-1)) [ ! $COUNTLS -eq $COUNTPARTPROBE ] && { printf "Failure! Partprobe missed some partitions (%d vs %d)\n" $COUNTLS $COUNTPARTPROBE exit 1 } printf "Success! Partprobe found all %d partititions\n" $COUNTLS exit 0
testdisk.xz
Description: application/xz