ISST-LTE: parted command shows "device-mapper: table ioctl on failed: No such device or address" error
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
parted (Ubuntu) |
Fix Released
|
High
|
Mathieu Trudel-Lapierre | ||
Trusty |
Won't Fix
|
High
|
Mathieu Trudel-Lapierre |
Bug Description
[Impact]
Partitioning multipath devices after install always results in multiple error messages even though the devices get created.
[Test case]
Run the following command:
parted -s /dev/mapper/mpath1 mkpart primary 0% 20%
On a system where mpath1 is an extra unpartitioned multipath device.
[Regression Potential]
This should generally not adversely affect partitioning devices; the goal is to make sure parted correctly synchronizes with udev and multipath-tools so that device nodes are created at the right moment to satisfy what parted attempts to do, and that they are only created by udev, not automatically via device-mapper.
Since this only affects timing of device node creation and only in the device-mapper case, where it already appears to be incorrect, there should be no other effect than removing the error messages.
----
== 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/
device-mapper: table ioctl on failed: No such device or address
Device /dev/mapper/
device-mapper: table ioctl on failed: No such device or address
Even though mpath2p1 is created , Device /dev/mapper/
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/
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-
parted packages installed:
-------
root@roselp1:~# dpkg -l|grep parted
ii libparted0debia
ii parted 2.3-19ubuntu1.
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/
device-mapper: table ioctl on failed: No such device or address
Device /dev/mapper/
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[
ACTION=add
DEVPATH=
SEQNUM=3096
SUBSYSTEM=bdi
KERNEL[
ACTION=add
DEVNAME=/dev/dm-13
DEVPATH=
DEVTYPE=disk
MAJOR=252
MINOR=13
SEQNUM=3097
SUBSYSTEM=block
KERNEL[
ACTION=change
DEVNAME=/dev/dm-13
DEVPATH=
DEVTYPE=disk
DM_COOKIE=4390912
MAJOR=252
MINOR=13
SEQNUM=3098
SUBSYSTEM=block
UDEV [18452.369499] add /devices/
ACTION=add
DEVPATH=
SEQNUM=3096
SUBSYSTEM=bdi
USEC_INITIALIZE
UDEV [18452.377916] add /devices/
ACTION=add
DEVNAME=/dev/dm-13
DEVPATH=
DEVTYPE=disk
DM_NAME=mpath2p2
DM_UDEV_
DM_UDEV_
DM_UDEV_
MAJOR=252
MINOR=13
SEQNUM=3097
SUBSYSTEM=block
USEC_INITIALIZE
UDEV [18452.510578] change /devices/
ACTION=change
DEVLINKS=
DEVNAME=/dev/dm-13
DEVPATH=
DEVTYPE=disk
DM_COOKIE=4390912
DM_NAME=mpath2p2
DM_SUSPENDED=0
DM_UDEV_
DM_UDEV_
DM_UDEV_
DM_UDEV_RULES=1
MAJOR=252
MINOR=13
SEQNUM=3098
SUBSYSTEM=block
USEC_INITIALIZE
-------
> 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/
device-mapper: table ioctl on failed: No such device or address
Device /dev/mapper/
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 ?
tags: |
added: targetmilestone-inin14044 removed: targetmilestone-inin--- |
description: | updated |
Default Comment by Bridge