Activity log for bug #1469143

Date Who What changed Old value New value Message
2015-06-26 12:19:46 Simo Punnonen bug added bug
2015-06-26 18:01:21 Launchpad Janitor multipath-tools (Ubuntu): status New Confirmed
2015-06-26 19:27:28 Jorge Niedbalski branch linked lp:~niedbalski/ubuntu/wily/multipath-tools/fix-lp-1469143
2015-06-26 19:27:44 Chris J Arges nominated for series Ubuntu Precise
2015-06-26 19:27:44 Chris J Arges bug task added multipath-tools (Ubuntu Precise)
2015-06-26 19:27:44 Chris J Arges nominated for series Ubuntu Vivid
2015-06-26 19:27:44 Chris J Arges bug task added multipath-tools (Ubuntu Vivid)
2015-06-26 19:27:44 Chris J Arges nominated for series Ubuntu Trusty
2015-06-26 19:27:44 Chris J Arges bug task added multipath-tools (Ubuntu Trusty)
2015-06-26 19:27:44 Chris J Arges nominated for series Ubuntu Utopic
2015-06-26 19:27:44 Chris J Arges bug task added multipath-tools (Ubuntu Utopic)
2015-06-26 19:28:52 Jorge Niedbalski bug added subscriber Ubuntu Sponsors Team
2015-06-26 19:29:30 Jorge Niedbalski multipath-tools (Ubuntu): assignee Jorge Niedbalski (niedbalski)
2015-06-26 19:29:34 Jorge Niedbalski multipath-tools (Ubuntu): status Confirmed In Progress
2015-06-30 10:22:31 Risto Kankkunen attachment added Use inode to match loopback mount to backing file https://bugs.launchpad.net/ubuntu/+source/multipath-tools/+bug/1469143/+attachment/4422343/+files/0014-kpartx-long-path.patch
2015-09-16 19:05:30 Mathieu Trudel-Lapierre removed subscriber Ubuntu Sponsors Team
2015-09-16 19:05:35 Mathieu Trudel-Lapierre multipath-tools (Ubuntu): assignee Jorge Niedbalski (niedbalski) Mathieu Trudel-Lapierre (mathieu-tl)
2015-09-17 00:49:20 Mathieu Trudel-Lapierre multipath-tools (Ubuntu Utopic): status New Won't Fix
2015-09-18 07:03:02 Launchpad Janitor multipath-tools (Ubuntu): status In Progress Fix Released
2015-12-01 14:37:19 Mathieu Trudel-Lapierre multipath-tools (Ubuntu Vivid): status New In Progress
2015-12-01 14:37:25 Mathieu Trudel-Lapierre multipath-tools (Ubuntu Trusty): status New In Progress
2015-12-01 14:37:29 Mathieu Trudel-Lapierre multipath-tools (Ubuntu Precise): status New In Progress
2015-12-01 14:37:32 Mathieu Trudel-Lapierre multipath-tools (Ubuntu Precise): importance Undecided Medium
2015-12-01 14:37:35 Mathieu Trudel-Lapierre multipath-tools (Ubuntu Trusty): importance Undecided Medium
2015-12-01 14:37:36 Mathieu Trudel-Lapierre multipath-tools (Ubuntu Vivid): importance Undecided Medium
2015-12-01 14:37:39 Mathieu Trudel-Lapierre multipath-tools (Ubuntu Precise): assignee Mathieu Trudel-Lapierre (mathieu-tl)
2015-12-01 14:37:40 Mathieu Trudel-Lapierre multipath-tools (Ubuntu Trusty): assignee Mathieu Trudel-Lapierre (mathieu-tl)
2015-12-01 14:37:42 Mathieu Trudel-Lapierre multipath-tools (Ubuntu Vivid): assignee Mathieu Trudel-Lapierre (mathieu-tl)
2015-12-01 16:49:18 Mathieu Trudel-Lapierre description $ apt-show-versions multipath-tools multipath-tools:amd64/vivid 0.4.9-3ubuntu12 uptodate Reproduce: Mount an image from a path longer than 63 chars succeeds: $ sudo kpartx -av asfd1asdf2asdf3asdf4asdf5asdf6asfd7asdf8asdf9asf10asdf11asdf12asdf13/disk.img add map loop0p1 (252:0): 0 409600 linear /dev/loop0 2048 add map loop0p2 (252:1): 0 2 linear /dev/loop0 411648 add map loop0p5 : 0 819200 linear /dev/loop0 413696 add map loop0p6 : 0 819200 linear /dev/loop0 1234944 add map loop0p7 : 0 819200 linear /dev/loop0 2056192 add map loop0p8 : 0 1316864 linear /dev/loop0 2877440 but dismounting fails: $ sudo kpartx -dv asfd1asdf2asdf3asdf4asdf5asdf6asfd7asdf8asdf9asf10asdf11asdf12asdf13/disk.img strace shows that the parameter on the dismount appears to get cut at 63 chars: ioctl(3, DM_LIST_VERSIONS, 0x15b89b0) = 0 stat("asfd1asdf2asdf3asdf4asdf5asdf6asfd7asdf8asdf9asf10asdf11asdf12asdf13/disk.img", {st_mode=S_IFREG|0644, st_size=2147483648, ...}) = 0 stat("/dev/loop0", {st_mode=S_IFBLK|0660, st_rdev=makedev(7, 0), ...}) = 0 open("/dev/loop0", O_RDONLY) = 4 ioctl(4, LOOP_GET_STATUS, {number=0, offset=0, flags=0, name="asfd1asdf2asdf3asdf4asdf5asdf6asfd7asdf8asdf9asf10asdf11asdf12a", ...}) = 0 close(4) = 0 stat("/dev/loop1", {st_mode=S_IFBLK|0660, st_rdev=makedev(7, 1), ...}) = 0 open("/dev/loop1", O_RDONLY) = 4 ioctl(4, LOOP_GET_STATUS, {number=0, offset=0, flags=0, name="asfd1asdf2asdf3asdf4asdf5asdf6asfd7asdf8asdf9asf10asdf11asdf12a", ...}) = -1 ENXIO (No such device or address) if the path is 63 chars or less, the dismount also succeeds. This is quickly becomes an issue if you want to use full disk paths in your shell scripts. [Impact] Users of kpartx to load disk images, possibly multiple images with the same file name (but in different paths). [Test case] See below, also see https://bugs.launchpad.net/ubuntu/+source/multipath-tools/+bug/1469143/comments/3 [Regression potential] This changes makes the matching for loaded images more robust, and so has a very limited risk of regression. Since there is a call to stat() introduced, one may notice a slowdown if the stat() call blocks for a reason, and the operation will fail if the stat() call fails for any reason, since the device and inode are now required. --- $ apt-show-versions multipath-tools multipath-tools:amd64/vivid 0.4.9-3ubuntu12 uptodate Reproduce: Mount an image from a path longer than 63 chars succeeds: $ sudo kpartx -av asfd1asdf2asdf3asdf4asdf5asdf6asfd7asdf8asdf9asf10asdf11asdf12asdf13/disk.img add map loop0p1 (252:0): 0 409600 linear /dev/loop0 2048 add map loop0p2 (252:1): 0 2 linear /dev/loop0 411648 add map loop0p5 : 0 819200 linear /dev/loop0 413696 add map loop0p6 : 0 819200 linear /dev/loop0 1234944 add map loop0p7 : 0 819200 linear /dev/loop0 2056192 add map loop0p8 : 0 1316864 linear /dev/loop0 2877440 but dismounting fails: $ sudo kpartx -dv asfd1asdf2asdf3asdf4asdf5asdf6asfd7asdf8asdf9asf10asdf11asdf12asdf13/disk.img strace shows that the parameter on the dismount appears to get cut at 63 chars: ioctl(3, DM_LIST_VERSIONS, 0x15b89b0) = 0 stat("asfd1asdf2asdf3asdf4asdf5asdf6asfd7asdf8asdf9asf10asdf11asdf12asdf13/disk.img", {st_mode=S_IFREG|0644, st_size=2147483648, ...}) = 0 stat("/dev/loop0", {st_mode=S_IFBLK|0660, st_rdev=makedev(7, 0), ...}) = 0 open("/dev/loop0", O_RDONLY) = 4 ioctl(4, LOOP_GET_STATUS, {number=0, offset=0, flags=0, name="asfd1asdf2asdf3asdf4asdf5asdf6asfd7asdf8asdf9asf10asdf11asdf12a", ...}) = 0 close(4) = 0 stat("/dev/loop1", {st_mode=S_IFBLK|0660, st_rdev=makedev(7, 1), ...}) = 0 open("/dev/loop1", O_RDONLY) = 4 ioctl(4, LOOP_GET_STATUS, {number=0, offset=0, flags=0, name="asfd1asdf2asdf3asdf4asdf5asdf6asfd7asdf8asdf9asf10asdf11asdf12a", ...}) = -1 ENXIO (No such device or address) if the path is 63 chars or less, the dismount also succeeds. This is quickly becomes an issue if you want to use full disk paths in your shell scripts.
2015-12-01 16:49:35 Mathieu Trudel-Lapierre bug added subscriber Ubuntu Stable Release Updates Team
2015-12-03 20:22:50 Brian Murray multipath-tools (Ubuntu Vivid): status In Progress Fix Committed
2015-12-03 20:22:53 Brian Murray bug added subscriber SRU Verification
2015-12-03 20:23:01 Brian Murray tags kpartx kpartx verification-needed
2016-03-04 20:31:10 Ubuntu Foundations Team Bug Bot tags kpartx verification-needed kpartx removal-candidate verification-needed
2016-05-12 13:50:16 Martin Pitt multipath-tools (Ubuntu Vivid): status Fix Committed Won't Fix
2016-05-12 13:50:20 Martin Pitt removed subscriber Ubuntu Stable Release Updates Team
2016-05-12 13:50:21 Martin Pitt removed subscriber SRU Verification
2016-05-12 13:50:21 Martin Pitt tags kpartx removal-candidate verification-needed kpartx removal-candidate
2016-05-13 06:50:15 Simo Punnonen tags kpartx removal-candidate kpartx removal-candidate verification-done
2021-10-14 01:27:11 Steve Langasek multipath-tools (Ubuntu Precise): status In Progress Won't Fix