Comment 0 for bug 1536008

Revision history for this message
bugproxy (bugproxy) wrote :

== Comment: #0 - Manjunatha H R <email address hidden> - 2016-01-19 03:02:12 ==
On Ubuntu14.04.4 while creating disk partition using parted command following error/message is displayed:

root@roselp1:~# parted -s /dev/mapper/mpath2 mkpart primary 0% 20%
Device /dev/mapper/mpath2p1 not found
device-mapper: table ioctl on failed: No such device or address
Device /dev/mapper/mpath2p1 not found
device-mapper: table ioctl on failed: No such device or address

Even though mpath2p1 is created , Device /dev/mapper/mpath2p1 not found error is shown:

root@roselp1:~# lsblk /dev/mapper/mpath2
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
mpath2 (dm-2) 252:2 0 20G 0 mpath
??mpath2p1 (dm-12) 252:12 0 4G 0 dm

root@roselp1:~# ls /dev/mapper/mpath2*
/dev/mapper/mpath2 /dev/mapper/mpath2p1

uname -a:
--------------
root@roselp1:~# uname -a
Linux roselp1 4.2.0-23-generic #28~14.04.1-Ubuntu SMP Thu Dec 31 13:41:19 UTC 2015 ppc64le ppc64le ppc64le GNU/Linux

multipath packages installed:
--------------------------------------
root@roselp1:~# dpkg -l|grep multipath
ii multipath-tools 0.4.9-3ubuntu7.7 ppc64el maintain multipath block device access
ii multipath-tools-boot 0.4.9-3ubuntu7.7 all Support booting from multipath devices

parted packages installed:
-----------------------------------
root@roselp1:~# dpkg -l|grep parted
ii libparted0debian1:ppc64el 2.3-19ubuntu1.14.04.1 ppc64el disk partition manipulator - shared library
ii parted 2.3-19ubuntu1.14.04.1 ppc64el disk partition manipulator

Steps to recreate:
-------------------------
1. Install Ubuntu14.04.4 on a PowerVM lpar with multipath disks.
2. Create partition using parted command: parted -s <mpath device> mkpart primary 0% 20% ----> This shows "device-mapper: table ioctl on failed" , even though partition is created.

Contact info:
------------------
Manju (<email address hidden>) A.P (<email address hidden>)

== Comment: #2 - Manjunatha H R <email address hidden> - 2016-01-19 03:06:48 ==

== Comment: #4 - Manjunatha H R <email address hidden> - 2016-01-19 06:13:20 ==
For getting "udevadm monitor -p" output , I had to create one more partition and whose output is :

root@roselp1:~# lsblk /dev/mapper/mpath2
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
mpath2 (dm-2) 252:2 0 20G 0 mpath
??mpath2p1 (dm-12) 252:12 0 4G 0 dm
root@roselp1:~# parted -s /dev/mapper/mpath2 mkpart primary 20% 40%
Device /dev/mapper/mpath2p2 not found
device-mapper: table ioctl on failed: No such device or address
Device /dev/mapper/mpath2p2 not found
device-mapper: table ioctl on failed: No such device or address
root@roselp1:~#

root@roselp1:~# 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[18452.366922] add /devices/virtual/bdi/252:13 (bdi)
ACTION=add
DEVPATH=/devices/virtual/bdi/252:13
SEQNUM=3096
SUBSYSTEM=bdi

KERNEL[18452.367085] add /devices/virtual/block/dm-13 (block)
ACTION=add
DEVNAME=/dev/dm-13
DEVPATH=/devices/virtual/block/dm-13
DEVTYPE=disk
MAJOR=252
MINOR=13
SEQNUM=3097
SUBSYSTEM=block

KERNEL[18452.369054] change /devices/virtual/block/dm-13 (block)
ACTION=change
DEVNAME=/dev/dm-13
DEVPATH=/devices/virtual/block/dm-13
DEVTYPE=disk
DM_COOKIE=4390912
MAJOR=252
MINOR=13
SEQNUM=3098
SUBSYSTEM=block

UDEV [18452.369499] add /devices/virtual/bdi/252:13 (bdi)
ACTION=add
DEVPATH=/devices/virtual/bdi/252:13
SEQNUM=3096
SUBSYSTEM=bdi
USEC_INITIALIZED=452366903

UDEV [18452.377916] add /devices/virtual/block/dm-13 (block)
ACTION=add
DEVNAME=/dev/dm-13
DEVPATH=/devices/virtual/block/dm-13
DEVTYPE=disk
DM_NAME=mpath2p2
DM_UDEV_DISABLE_DISK_RULES_FLAG=1
DM_UDEV_DISABLE_OTHER_RULES_FLAG=1
DM_UDEV_DISABLE_SUBSYSTEM_RULES_FLAG=1
MAJOR=252
MINOR=13
SEQNUM=3097
SUBSYSTEM=block
USEC_INITIALIZED=452367384

UDEV [18452.510578] change /devices/virtual/block/dm-13 (block)
ACTION=change
DEVLINKS=/dev/disk/by-id/dm-name-mpath2p2
DEVNAME=/dev/dm-13
DEVPATH=/devices/virtual/block/dm-13
DEVTYPE=disk
DM_COOKIE=4390912
DM_NAME=mpath2p2
DM_SUSPENDED=0
DM_UDEV_DISABLE_DM_RULES_FLAG=1
DM_UDEV_DISABLE_SUBSYSTEM_RULES_FLAG=1
DM_UDEV_PRIMARY_SOURCE_FLAG=1
DM_UDEV_RULES=1
MAJOR=252
MINOR=13
SEQNUM=3098
SUBSYSTEM=block
USEC_INITIALIZED=452367384

----------------------------------------------------

> Hi Manju,
>
>
> The disk management tool parted is GNU provided tool. Ubuntu has these tools
> packaged in util-linux, which is maintained by ubuntu. Can you please try
> util-linux tools (eg, fdisk, partx) and test if the same issue can be
> replicated?

Thanks Chandan..

Tried fdisk and partx which are part of "util-linux"

1. fdisk creates partition without any error message:
------------------------------
root@roselp1:~# fdisk /dev/mapper/mpath1

Command (m for help): n
Partition type:
   p primary (0 primary, 0 extended, 4 free)
   e extended
Select (default p): p
Partition number (1-4, default 1): 1
First sector (2048-41943039, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-41943039, default 41943039): 4096

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 22: Invalid argument.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.

2. partx FAILS to add the dev mapping of the newly created partition:
----------------------------------------------
root@roselp1:~# partx -a /dev/mapper/mpath1
partx: /dev/mapper/mpath1: error adding partition 1

root@roselp1:~# lsblk /dev/mapper/mpath1
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
mpath1 (dm-1) 252:1 0 20G 0 mpath

To Create device maps after partition creation, we will have to relay on GNU packages: partprobe or kpartx

Output of partprobe :
-------------------------
root@roselp1:~# partprobe /dev/mapper/mpath1
Device /dev/mapper/mpath1p1 not found
device-mapper: table ioctl on failed: No such device or address
Device /dev/mapper/mpath1p1 not found
device-mapper: table ioctl on failed: No such device or address
root@roselp1:~#

Output of kpartx:
---------------------
root@roselp1:~# kpartx -a /dev/mapper/mpath1
root@roselp1:~# lsblk /dev/mapper/mpath1
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
mpath1 (dm-1) 252:1 0 20G 0 mpath
??mpath1p1 (dm-21) 252:21 0 1M 0 part

Just with "util-linux" tools (eg, fdisk, partx), partition creation and device maps fails. Only way to get the dev map for the partition created is to relay on GNU tools: partprobe OR kpartx.

Does util-linux's partx required to be fixed ?