Package: libparted0debian1 Version: 2.3-5 Severity: normal Hi, the code snippets in the source file libparted/arch/linux.c
... static dev_t _partition_get_part_dev (const PedPartition* part) { struct stat dev_stat; int dev_major, dev_minor; if (stat (part->disk->dev->path, &dev_stat)) return (dev_t)0; dev_major = major (dev_stat.st_rdev); dev_minor = minor (dev_stat.st_rdev); return (dev_t)makedev (dev_major, dev_minor + part->num); } ... ... static int _partition_is_mounted (const PedPartition *part) { dev_t dev; if (!ped_partition_is_active (part)) return 0; dev = _partition_get_part_dev (part); if (!dev) return 0; return _partition_is_mounted_by_dev (dev); } ... The above code assumes the partition major & minor numbers can be constructed as the major number the same as the main device and the minor number as the main device minor number plus the partition number. This is not true at least for a LVM HDD image with mapped partitions (probably the same for a HDD image in a file...) I discovered this problem while trying to repartition the virtual machine HDD image on LV using gparted, parted or cfdisk. I have an image /dev/mapper/vg-helpd and partitions mapped by parted: bobek:~# ls -la /dev/mapper/vg-helpd* lrwxrwxrwx 1 root root 8 Mar 22 19:33 /dev/mapper/vg-helpd -> ../dm-26 brw-rw---- 1 root disk 254, 31 Mar 22 22:04 /dev/mapper/vg-helpdp1 brw-rw---- 1 root disk 254, 32 Mar 22 22:04 /dev/mapper/vg-helpdp2 brw-rw---- 1 root disk 254, 33 Mar 22 22:04 /dev/mapper/vg-helpdp5 brw-rw---- 1 root disk 254, 34 Mar 22 22:04 /dev/mapper/vg-helpdp6 brw-rw---- 1 root disk 254, 35 Mar 22 22:04 /dev/mapper/vg-helpdp7 brw-rw---- 1 root disk 254, 36 Mar 22 22:04 /dev/mapper/vg-helpdp8 So the partition number 1 has minor number 31 and not 27. Minor number 27 has my root file system (of course mounted :) bobek:~# dmsetup ls|grep 27 root (254, 27) So I end up with: bobek:~# parted /dev/mapper/vg-helpd check 1 WARNING: you are attempting to use parted to operate on (check) a file system. parted's file system manipulation code is not as robust as what you'll find in dedicated, file-system-specific packages like e2fsprogs. We recommend you use parted only to manipulate partition tables, whenever possible. Support for performing most operations on most types of file systems will be removed in an upcoming release. Error: Partition /dev/mapper/vg-helpdp1 is being used. You must unmount it before you modify it with Parted. So this is the problem Best Regards -- Zito -- System Information: Debian Release: wheezy/sid APT prefers unstable APT policy: (500, 'unstable'), (1, 'experimental') Architecture: i386 (x86_64) Kernel: Linux 2.6.38-1-amd64 (SMP w/2 CPU cores) Locale: LANG=en_US.UTF-8, LC_CTYPE=cs_CZ.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Versions of packages libparted0debian1 depends on: ii libblkid1 2.17.2-9.1 block device id library ii libc6 2.11.2-11 Embedded GNU C Library: Shared lib ii libdevmapper1.02.1 2:1.02.63-2 The Linux Kernel Device Mapper use ii libuuid1 2.17.2-9.1 Universally Unique ID library libparted0debian1 recommends no packages. Versions of packages libparted0debian1 suggests: pn libparted0-dev <none> (no description available) pn libparted0-i18n <none> (no description available) ii parted 2.3-5 The GNU Parted disk partition resi -- no debconf information -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org