partprobe fails on /dev/mapper/353333330000007d0
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
multipath-tools (Ubuntu) |
Expired
|
Low
|
Unassigned |
Bug Description
Steps to reproduce on Ubuntu 14.04 on a virtual machine with no /dev/sda device
# apt-get install linux-image-
# modprobe scsi_debug vpd_use_hostno=0 add_host=1 dev_size_mb=200
# ls -l /dev/mapper
total 0
lrwxrwxrwx 1 root root 7 Aug 25 23:00 353333330000007d0 -> ../dm-0
crw------- 1 root root 10, 236 Aug 25 11:45 control
# /sbin/sgdisk --new=2:0:100M --change-
Warning: The kernel is still using the old partition table.
The new table will be used at the next reboot.
The operation has completed successfully.
# partprobe /dev/mapper/
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
# ls -l /dev/mapper
total 0
lrwxrwxrwx 1 root root 7 Aug 25 23:00 353333330000007d0 -> ../dm-0
brw-rw---- 1 root disk 252, 2 Aug 25 23:00 353333330000007d0p2
crw------- 1 root root 10, 236 Aug 25 11:45 control
# partprobe /dev/mapper/
# ls -l /dev/mapper
total 0
lrwxrwxrwx 1 root root 7 Aug 25 23:00 353333330000007d0 -> ../dm-0
brw-rw---- 1 root disk 252, 1 Aug 25 23:00 353333330000007
brw-rw---- 1 root disk 252, 2 Aug 25 23:00 353333330000007d0p2
crw------- 1 root root 10, 236 Aug 25 11:45 control
Hi,
thanks for the nice setup with scsi_debug that helps.
I also ran it against some real FCP devices I had around.
I can confirm that this still applies to Xenial.
1. working without issue on the device itself e.g. /dev/sd*
2. when using on /dev/mapper devices reporting issues
ubuntu@s1lp5:~$ sudo partprobe /dev/mapper/ 36005076306ffd6 b60000000000002 40 b60000000000002 402 36005076306ffd6 b60000000000002 402-part2 36005076306ffd6 b60000000000002 403 name=2: 'ceph journal' --partition- guid=2: a94ad65f- fadb-4178- 851b-5261c06ee3 b9 --typecode= 2:45b0969e- 8ae0-4982- bf9d-5a8d867af5 60 --mbrtogpt -- /dev/mapper/ 36005076306ffd6 b60000000000002 403 36005076306ffd6 b60000000000002 403 b60000000000002 403p2part2- mpath-360050763 06ffd6b60000000 000002403 failed: Device or resource busy 36005076306ffd6 b60000000000002 403* 36005076306ffd6 b60000000000002 403 -> ../dm-1 36005076306ffd6 b60000000000002 403-part2 -> ../dm-3
36005076306ffd6
ubuntu@s1lp5:~$ sudo /sbin/sgdisk --new=2:0:100M --change-
Creating new GPT entries.
Setting name!
partNum is 1
REALLY setting name!
Warning: The kernel is still using the old partition table.
The new table will be used at the next reboot or after you
run partprobe(8) or kpartx(8)
The operation has completed successfully.
ubuntu@s1lp5:~$ sudo partprobe /dev/mapper/
device-mapper: create ioctl on 36005076306ffd6
ubuntu@s1lp5:~$ echo $?
0
ubuntu@s1lp5:~$ ll /dev/mapper/
lrwxrwxrwx 1 root root 7 Apr 20 10:53 /dev/mapper/
lrwxrwxrwx 1 root root 7 Apr 20 10:53 /dev/mapper/
But then as you have shown as well, it is just a message about the ioctl that likely isn't handled/forwarded correctly by the device mapper.
It doesn't even have a bad return code - so it might just be about making more clear that this is a warning, but not an error at all right?