[Bug 1012946] Re: dm-part-sync.patch breaks creating multiple partitions on a LVM volume
Phillip Susi
psusi at ubuntu.com
Tue Jul 17 15:17:54 UTC 2012
** Description changed:
- # lsb_release -a
- No LSB modules are available.
- Distributor ID: Ubuntu
- Description: Ubuntu 12.04 LTS
- Release: 12.04
- Codename: precise
+ [IMPACT]
- # apt-cache policy parted
- parted:
- Installed: 2.3-8ubuntu5
- Candidate: 2.3-8ubuntu5
- Version table:
- *** 2.3-8ubuntu5 0
- 500 http://mirrors.service.softlayer.com/ubuntu/ precise/main amd64 Packages
- 100 /var/lib/dpkg/status
+ The patch dm-part-sync.patch, added during the precise development
+ cycle, caused a regression wherein users are unable to use parted to
+ manipulate partitions contained within an LVM logical volume under
+ either of two conditions:
+ 1) You specify the "disk" using the /dev/VG/LV symlink rather than
+ /dev/mapper/vg-lv
+
+ 2) There is more than one partition within the "disk"
+
+ In addition to LVM, this should also apply to dmraid disks.
+
+ The first problem is fixed by looking up the canonical /dev/mapper/
+ device name of the disk, and using that as the base name when building
+ the names of the partition devices. The second problem is fixed by
+ assuming that dm disks can hold MAX_NUM_PARTS partitions, rather than
+ looking up what the kernel reports in the sysfs ext_range attribute,
+ which is just one.
+
+ [TESTCASE]
# lvcreate -n test -L 10M matrix
- Rounding up size to full physical extent 12.00 MiB
- Logical volume "test" created
+ Rounding up size to full physical extent 12.00 MiB
+ Logical volume "test" created
# parted --script -- /dev/matrix/test mklabel msdos
# parted --script -- /dev/matrix/test mkpart primary ext4 1 2
# parted --script -- /dev/matrix/test mkpart primary ext4 3 4
device-mapper: create ioctl failed: Device or resource busy
Error: Failed to add partition 1 (No such device or address)
# ls /dev/mapper/matrix-test*
/dev/mapper/matrix-test
/dev/mapper/matrix-test1
- If I remove rebuild parted without the dm-part-sync.patch (actually,
- also without dmraid.patch and udevadm-settle.patch, otherwise it would
- not build), it works properly:
+ [Regression Potential]
-
- root at matrix:~# lvcreate -n test -L 10M matrix
- Rounding up size to full physical extent 12.00 MiB
- Logical volume "test" created
- root at matrix:~# parted --script -- /dev/matrix/test mklabel msdos
- root at matrix:~# parted --script -- /dev/matrix/test mkpart primary ext4 1 2
- Error: msdos disk labels do not support partition names.
- root at matrix:~# parted --script -- /dev/matrix/test mkpart primary ext4 3 4
- Error: msdos disk labels do not support partition names.
- Error: msdos disk labels do not support partition names.
- root at matrix:~# ls /dev/mapper/matrix-test*
- /dev/mapper/matrix-test
- /dev/mapper/matrix-test1
- /dev/mapper/matrix-test2
- ---
- ApportVersion: 2.0.1-0ubuntu8
- Architecture: amd64
- DistroRelease: Ubuntu 12.04
- Package: parted 2.3-8ubuntu5
- PackageArchitecture: amd64
- ProcEnviron:
- TERM=xterm
- LANG=en_US
- SHELL=/bin/bash
- ProcVersionSignature: Ubuntu 3.2.0-24.39-generic 3.2.16
- Tags: precise
- Uname: Linux 3.2.0-24-generic x86_64
- UpgradeStatus: Upgraded to precise on 2012-06-13 (0 days ago)
- UserGroups:
+ The changes are unlikely to impact anything other than using parted on
+ dm devices, which is essentially broken in its current state.
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to parted in Ubuntu.
https://bugs.launchpad.net/bugs/1012946
Title:
dm-part-sync.patch breaks creating multiple partitions on a LVM volume
Status in “parted” package in Ubuntu:
Fix Released
Status in “parted” source package in Precise:
In Progress
Status in “parted” source package in Quantal:
Fix Released
Bug description:
[IMPACT]
The patch dm-part-sync.patch, added during the precise development
cycle, caused a regression wherein users are unable to use parted to
manipulate partitions contained within an LVM logical volume under
either of two conditions:
1) You specify the "disk" using the /dev/VG/LV symlink rather than
/dev/mapper/vg-lv
2) There is more than one partition within the "disk"
In addition to LVM, this should also apply to dmraid disks.
The first problem is fixed by looking up the canonical /dev/mapper/
device name of the disk, and using that as the base name when building
the names of the partition devices. The second problem is fixed by
assuming that dm disks can hold MAX_NUM_PARTS partitions, rather than
looking up what the kernel reports in the sysfs ext_range attribute,
which is just one.
[TESTCASE]
# lvcreate -n test -L 10M matrix
Rounding up size to full physical extent 12.00 MiB
Logical volume "test" created
# parted --script -- /dev/matrix/test mklabel msdos
# parted --script -- /dev/matrix/test mkpart primary ext4 1 2
# parted --script -- /dev/matrix/test mkpart primary ext4 3 4
device-mapper: create ioctl failed: Device or resource busy
Error: Failed to add partition 1 (No such device or address)
# ls /dev/mapper/matrix-test*
/dev/mapper/matrix-test
/dev/mapper/matrix-test1
[Regression Potential]
The changes are unlikely to impact anything other than using parted on
dm devices, which is essentially broken in its current state.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/parted/+bug/1012946/+subscriptions
More information about the foundations-bugs
mailing list