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

Attachment: testdisk.xz
Description: application/xz

Reply via email to