ISST_SAN:ls -l /dev/mapper/mpath output showing the deleted partitions even after the removal of partitions
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
devmapper (Ubuntu) |
Invalid
|
Undecided
|
Unassigned |
Bug Description
== Comment: #0 - LEKSHMI C. PILLAI <email address hidden> - 2015-02-25 04:10:23 ==
Hi
On one of my Ubuntu 15.04 guest I was deleting partitions using fdisk.distrib command. Its deleting successfully,but ls -l /dev/mapper/ is still shoiwng the entry
After creation of 3 partitions on /dev/mapper/
1)fdisk.distrib -l 2)kpartx 3)ls -l
1)root@
Disk /dev/mapper/
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xeb2e9efb
Device Boot Start End Sectors Size Id Type
/dev/mapper/
/dev/mapper/
/dev/mapper/
2)root@
mpath30p1 : 0 6291456 /dev/mapper/mpath30 2048
mpath30p2 : 0 8388608 /dev/mapper/mpath30 6293504
mpath30p3 : 0 16775168 /dev/mapper/mpath30 14682112
3)root@
lrwxrwxrwx 1 root root 7 Feb 25 02:07 /dev/mapper/mpath30 -> ../dm-8
brw-rw---- 1 root disk 252, 70 Feb 25 02:04 /dev/mapper/
brw-rw---- 1 root disk 252, 71 Feb 25 02:04 /dev/mapper/
brw-rw---- 1 root disk 252, 72 Feb 25 02:04 /dev/mapper/
After Deletion of 3rd partition,o/p from each of these
root@zap06:
mpath30p1 : 0 6291456 /dev/mapper/mpath30 2048
mpath30p2 : 0 8388608 /dev/mapper/mpath30 6293504
root@zap06:
lrwxrwxrwx 1 root root 7 Feb 25 02:07 /dev/mapper/mpath30 -> ../dm-8
brw-rw---- 1 root disk 252, 70 Feb 25 02:04 /dev/mapper/
brw-rw---- 1 root disk 252, 71 Feb 25 02:04 /dev/mapper/
brw-rw---- 1 root disk 252, 72 Feb 25 02:04 /dev/mapper/
root@zap06:
Disk /dev/mapper/
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xeb2e9efb
Device Boot Start End Sectors Size Id Type
/dev/mapper/
/dev/mapper/
So I rebooted the machine
After reboot
root@zap06:
mpath30p1 : 0 6291456 /dev/mapper/mpath30 2048
mpath30p2 : 0 8388608 /dev/mapper/mpath30 6293504
root@zap06:
lrwxrwxrwx 1 root root 8 Feb 25 08:22 /dev/mapper/mpath30 -> ../dm-13
brw-rw---- 1 root disk 252, 16 Feb 25 08:22 /dev/mapper/
brw-rw---- 1 root disk 252, 17 Feb 25 08:22 /dev/mapper/
root@zap06:
Again I created 2 more partitions on mpath30
These are the o/ps from kpartx,
root@zap06:
lrwxrwxrwx 1 root root 8 Feb 25 08:29 /dev/mapper/mpath30 -> ../dm-13
brw-rw---- 1 root disk 252, 16 Feb 25 08:22 /dev/mapper/
brw-rw---- 1 root disk 252, 17 Feb 25 08:22 /dev/mapper/
brw-rw---- 1 root disk 252, 69 Feb 25 08:29 /dev/mapper/
brw-rw---- 1 root disk 252, 70 Feb 25 08:29 /dev/mapper/
root@zap06:
mpath30p1 : 0 6291456 /dev/mapper/mpath30 2048
mpath30p2 : 0 8388608 /dev/mapper/mpath30 6293504
mpath30p3 : 0 4194304 /dev/mapper/mpath30 14682112
mpath30p4 : 0 12580864 /dev/mapper/mpath30 18876416
root@zap06:
Disk /dev/mapper/
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xeb2e9efb
Device Boot Start End Sectors Size Id Type
/dev/mapper/
/dev/mapper/
/dev/mapper/
/dev/mapper/
root@zap06:
Now tried deletion of 4th and 3rd partitions
O/p of each command after dletion
root@zap06:
Disk /dev/mapper/
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xeb2e9efb
Device Boot Start End Sectors Size Id Type
/dev/mapper/
/dev/mapper/
root@zap06:
mpath30p1 : 0 6291456 /dev/mapper/mpath30 2048
mpath30p2 : 0 8388608 /dev/mapper/mpath30 6293504
root@zap06:
lrwxrwxrwx 1 root root 8 Feb 25 08:31 /dev/mapper/mpath30 -> ../dm-13
brw-rw---- 1 root disk 252, 16 Feb 25 08:22 /dev/mapper/
brw-rw---- 1 root disk 252, 17 Feb 25 08:22 /dev/mapper/
brw-rw---- 1 root disk 252, 69 Feb 25 08:29 /dev/mapper/
brw-rw---- 1 root disk 252, 70 Feb 25 08:29 /dev/mapper/
root@zap06:
And I tried creating filesystem on the dleeted partition.Its successfully created FS and i mounted it.I am totally confused with which is correct o/p and which is wrong?
root@zap06:
mke2fs 1.42.12 (29-Aug-2014)
Discarding device blocks: done
Creating filesystem with 1572608 4k blocks and 393216 inodes
Filesystem UUID: 6fd9febb-
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736
Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
root@zap06:
root@zap06:
root@zap06:
mpath30p1 : 0 6291456 /dev/mapper/mpath30 2048
mpath30p2 : 0 8388608 /dev/mapper/mpath30 6293504
root@zap06:
Disk /dev/mapper/
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xeb2e9efb
Device Boot Start End Sectors Size Id Type
/dev/mapper/
/dev/mapper/
root@zap06:
root@zap06:
0
root@zap06:
/dev/sdp2 on / type ext4 (rw,errors=
proc on /proc type proc (rw,nodev,
sysfs on /sys type sysfs (rw,nodev,
none on /sys/fs/cgroup type tmpfs (rw,uid=
none on /sys/fs/
none on /sys/kernel/debug type debugfs (rw)
none on /sys/kernel/
udev on /dev type devtmpfs (rw,mode=0755)
devpts on /dev/pts type devpts (rw,noexec,
tmpfs on /run type tmpfs (rw,noexec,
none on /run/lock type tmpfs (rw,nodev,
none on /run/shm type tmpfs (rw,nosuid,nodev)
none on /run/user type tmpfs (rw,nodev,
none on /sys/fs/pstore type pstore (rw)
cgmfs on /run/cgmanager/fs type tmpfs (rw,relatime,
rpc_pipefs on /run/rpc_pipefs type rpc_pipefs (rw)
kte:/data on /data type nfs (rw,soft,
kte:/kte on /kte type nfs (rw,soft,
kte:/images on /images type nfs (rw,soft,
kte:/distros on /distros type nfs (rw,soft,
/dev/mapper/
root@zap06:
o/P
So after deletion while other tets are running,its difficult to reboot everytime system.Also the outputs are misleading
Thanks
Lekshmi
== Comment: #2 - David Heller <email address hidden> - 2015-02-25 15:36:26 ==
I'm not sure how it got into this state but yes, it does look like some device nodes were not cleaned up after the partitions were deleted. Currently the PT is empty:
root@zap06:~# kpartx -l /dev/mapper/mpath30
root@zap06:~# parted /dev/mapper/mpath30 print
Model: Linux device-mapper (multipath) (dm)
Disk /dev/mapper/
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
But there are some device nodes hanging around, and they seem to be holding the minor numbers corresponding to the deleted partitions:
root@zap06:~# ll /dev/mapper/
lrwxrwxrwx 1 root root 8 Feb 25 19:52 /dev/mapper/mpath30 -> ../dm-13
brw-rw---- 1 root disk 252, 16 Feb 25 08:22 /dev/mapper/
brw-rw---- 1 root disk 252, 17 Feb 25 08:22 /dev/mapper/
brw-rw---- 1 root disk 252, 69 Feb 25 08:29 /dev/mapper/
brw-rw---- 1 root disk 252, 70 Feb 25 08:52 /dev/mapper/
root@zap06:~# ll /dev/disk/
lrwxrwxrwx 1 root root 11 Feb 25 19:52 /dev/disk/
lrwxrwxrwx 1 root root 11 Feb 25 11:02 /dev/disk/
lrwxrwxrwx 1 root root 11 Feb 25 11:02 /dev/disk/
lrwxrwxrwx 1 root root 11 Feb 25 08:29 /dev/disk/
lrwxrwxrwx 1 root root 11 Feb 25 08:29 /dev/disk/
lrwxrwxrwx 1 root root 11 Feb 25 19:52 /dev/disk/
lrwxrwxrwx 1 root root 11 Feb 25 11:02 /dev/disk/
lrwxrwxrwx 1 root root 11 Feb 25 11:02 /dev/disk/
lrwxrwxrwx 1 root root 11 Feb 25 08:29 /dev/disk/
lrwxrwxrwx 1 root root 11 Feb 25 08:29 /dev/disk/
root@zap06:~# ll /dev/dm-* | egrep "13|16|69|70"
brw-rw---- 1 root disk 252, 13 Feb 25 19:52 /dev/dm-13
brw-rw---- 1 root disk 252, 16 Feb 25 11:02 /dev/dm-16
brw-rw---- 1 root disk 252, 69 Feb 25 08:29 /dev/dm-69
brw-rw---- 1 root disk 252, 70 Feb 25 08:29 /dev/dm-70
Running partprobe should fix this, but it doesn't. Running with strace sheds a little light (full output attached):
root@zap06:~# strace partprobe /dev/mapper/mpath30
execve(
brk(0) = 0x10009930000
access(
access(
...
getrlimit(
statfs(
statfs("/selinux", 0x3fffc2e8fe70) = -1 ENOENT (No such file or directory)
brk(0) = 0x10009930000
brk(0x10009960000) = 0x10009960000
open("/
fstat(3, {st_mode=
mmap(NULL, 4096, PROT_READ|
read(3, "nodev\
read(3, "", 1024) = 0
close(3) = 0
munmap(
open("/
fstat(3, {st_mode=
mmap(NULL, 2919792, PROT_READ, MAP_PRIVATE, 3, 0) = 0x3fff781b0000
close(3) = 0
semctl(0, 0, SEM_INFO, 0x3fffc2e8f878) = 0
open("/
fstat(3, {st_mode=
mmap(NULL, 4096, PROT_READ|
read(3, "# see udev.conf(5) for details\n#"..., 4096) = 153
read(3, "", 4096) = 0
close(3) = 0
munmap(
access(
stat("/
open("/
read(3, "Character devices:\n 1 mem\n 4 /"..., 16384) = 469
read(3, "", 16384) = 0
close(3) = 0
uname({sys="Linux", node="zap06", ...}) = 0
stat("/
open("/
open("/
fstat(4, {st_mode=
mmap(NULL, 4096, PROT_READ|
read(4, "Character devices:\n 1 mem\n 4 /"..., 1024) = 469
close(4) = 0
munmap(
ioctl(3, DM_VERSION, 0x10009931350) = 0
ioctl(3, DM_TABLE_STATUS, 0x10009931280) = 0
open("/
fstat(4, {st_mode=
mmap(NULL, 4096, PROT_READ|
read(4, "# Locale name alias data base.\n#"..., 4096) = 2570
read(4, "", 4096) = 0
close(4) = 0
munmap(
...
stat("/
open("/
ioctl(4, BLKFLSBUF, 0x3fffc2e8f8c8) = 0
ioctl(3, DM_DEV_STATUS, 0x10009935330) = 0
stat("/
open("/
ioctl(3, DM_DEV_STATUS, 0x10009935330) = 0
stat("/
open("/
ioctl(3, DM_DEV_STATUS, 0x10009935330) = 0
stat("/
open("/
...
ioctl(3, DM_DEV_STATUS, 0x10009935330) = 0
stat("/
open("/
stat("/
uname({sys="Linux", node="zap06", ...}) = 0
ioctl(4, BLKSSZGET, 512) = 0
fadvise64(4, 0, 0, POSIX_FADV_RANDOM) = 0
fstat(4, {st_mode=
uname({sys="Linux", node="zap06", ...}) = 0
ioctl(4, BLKGETSIZE64, 16106127360) = 0
open("/
openat(5, "dm/uuid", O_RDONLY|O_CLOEXEC) = 6
fcntl(6, F_GETFL) = 0x10000 (flags O_RDONLY|0x10000)
fstat(6, {st_mode=
mmap(NULL, 65536, PROT_READ|
lseek(6, 0, SEEK_CUR) = 0
read(6, "mpath-
close(6) = 0
munmap(
close(5) = 0
open("/
newfstatat(5, "partition", 0x3fffc2e8e268, 0) = -1 ENOENT (No such file or directory)
openat(5, "dm/uuid", O_RDONLY|O_CLOEXEC) = 6
fcntl(6, F_GETFL) = 0x10000 (flags O_RDONLY|0x10000)
fstat(6, {st_mode=
mmap(NULL, 65536, PROT_READ|
lseek(6, 0, SEEK_CUR) = 0
read(6, "mpath-
close(6) = 0
munmap(
close(5) = 0
ioctl(4, CDROM_GET_
ioctl(4, BLKALIGNOFF, 0) = 0
ioctl(4, BLKIOMIN, 512) = 0
ioctl(4, BLKIOOPT, 0) = 0
ioctl(4, BLKPBSZGET, 512) = 0
ioctl(4, BLKSSZGET, 512) = 0
ioctl(4, BLKGETSIZE64, 16106127360) = 0
ioctl(4, HDIO_GETGEO, {heads=0, sectors=0, cylinders=0, start=0}) = 0
fsync(4) = 0
close(4) = 0
open("/
ioctl(4, BLKFLSBUF, 0) = 0
ioctl(3, DM_DEV_STATUS, 0x10009935330) = 0
stat("/
open("/
ioctl(3, DM_DEV_STATUS, 0x10009935330) = 0
stat("/
open("/
...
ioctl(3, DM_DEV_STATUS, 0x10009935330) = 0
stat("/
open("/
...
This looks like the naming inconsistency (mpathXpX vs. mpathX-partX) seen in other bugs. partprobe is looking for mpathXpX, which don't exist. Now, if it were looking for that *in addition to* the -partX names, these would probably be benign operations. But it does not seem to be looking for -partX names at all, looking at the full trace (attached).
Finally, here is udevadm output from the "partprobe" operation, which seems to show it operating only on the mpath30 device, and not any of the partition devices. The expectation is, it would find and delete those device nodes here:
root@zap06:~# udevadm monitor -p
monitor will print the received events for:
UDEV - the event which udev sends out after rule processing
KERNEL - the kernel uevent
KERNEL[
ACTION=change
DEVNAME=/dev/dm-13
DEVPATH=
DEVTYPE=disk
MAJOR=252
MINOR=13
SEQNUM=5073
SUBSYSTEM=block
UDEV [42248.257687] change /devices/
ACTION=change
DEVLINKS=
DEVNAME=/dev/dm-13
DEVPATH=
DEVTYPE=disk
DM_NAME=mpath30
DM_STATE=ACTIVE
DM_SUSPENDED=0
DM_TABLE_STATE=LIVE
DM_TYPE=raid
DM_UDEV_
DM_UDEV_RULES=1
DM_UUID=mpath-0QEMU QEMU HARDDISK drive-scsi0-0-8-0
ID_PART_
ID_PART_
MAJOR=252
MINOR=13
SEQNUM=5073
SUBSYSTEM=block
USEC_INITIALIZE
nomdmonddf=1
nomdmonisw=1
KERNEL[
ACTION=change
DEVNAME=/dev/dm-13
DEVPATH=
DEVTYPE=disk
MAJOR=252
MINOR=13
SEQNUM=5074
SUBSYSTEM=block
UDEV [42248.297519] change /devices/
ACTION=change
DEVLINKS=
DEVNAME=/dev/dm-13
DEVPATH=
DEVTYPE=disk
DM_NAME=mpath30
DM_STATE=ACTIVE
DM_SUSPENDED=0
DM_TABLE_STATE=LIVE
DM_TYPE=raid
DM_UDEV_
DM_UDEV_RULES=1
DM_UUID=mpath-0QEMU QEMU HARDDISK drive-scsi0-0-8-0
ID_PART_
ID_PART_
MAJOR=252
MINOR=13
SEQNUM=5074
SUBSYSTEM=block
USEC_INITIALIZE
nomdmonddf=1
nomdmonisw=1
tags: |
added: targetmilestone-inin1504 removed: targetmilestone-inin--- |
affects: | ubuntu → udev (Ubuntu) |
affects: | udev (Ubuntu) → devmapper (Ubuntu) |
Changed in devmapper (Ubuntu): | |
status: | New → Invalid |
Default Comment by Bridge