Activity log for bug #644489

Date Who What changed Old value New value Message
2010-09-21 16:20:06 John Morrissey bug added bug
2010-09-21 16:20:06 John Morrissey attachment added udev debug output https://bugs.launchpad.net/bugs/644489/+attachment/1618717/+files/udev-out
2010-09-21 16:22:43 Matthew Ernisse bug added subscriber Matthew Ernisse
2010-09-21 16:50:09 John Morrissey attachment added udevadm monitor -e https://bugs.launchpad.net/ubuntu/+source/udev/+bug/644489/+attachment/1618827/+files/udevadm-monitor-events
2010-09-21 17:00:55 John Morrissey affects udev (Ubuntu) multipath-tools (Ubuntu)
2010-09-22 08:32:11 Thierry Carrez multipath-tools (Ubuntu): importance Undecided High
2010-09-22 08:32:11 Thierry Carrez multipath-tools (Ubuntu): status New Confirmed
2011-04-06 21:50:43 Serge Hallyn bug added subscriber Serge Hallyn
2011-04-08 23:20:51 John Morrissey attachment added multipathd(8) verbose output https://bugs.launchpad.net/ubuntu/+source/multipath-tools/+bug/644489/+attachment/2003108/+files/multipathd.20110408
2011-04-11 12:55:09 Serge Hallyn bug task added udev (Ubuntu)
2011-04-12 23:44:09 John Morrissey attachment added udevd-debug.gz https://bugs.launchpad.net/ubuntu/+source/multipath-tools/+bug/644489/+attachment/2027325/+files/udevd-debug.gz
2011-04-15 03:53:30 Serge Hallyn multipath-tools (Ubuntu): assignee Peter Petrakis (peter-petrakis)
2011-04-28 10:47:32 Olivier Duquesne bug added subscriber Olivier Duquesne
2011-05-19 08:45:09 krims0n bug added subscriber krims0n
2011-06-18 21:00:59 Peter Petrakis attachment added updated netapp prio checker https://bugs.launchpad.net/ubuntu/+source/multipath-tools/+bug/644489/+attachment/2174493/+files/mpath_prio_netapp
2011-06-19 10:32:06 Peter Petrakis attachment added preliminary patch, awaiting upstream feedback https://bugs.launchpad.net/ubuntu/+source/multipath-tools/+bug/644489/+attachment/2174791/+files/adjust-prioritizer-open-flags-to-avoid-sg-io-side-effects.debdiff
2011-06-21 18:44:20 Peter Petrakis multipath-tools (Ubuntu): status Confirmed In Progress
2011-06-21 18:46:13 Peter Petrakis udev (Ubuntu): status New Invalid
2011-06-21 19:00:44 Peter Petrakis attachment added multipath-tools-eliminate-udev-change-events-lp644489.debdiff https://bugs.launchpad.net/ubuntu/+source/multipath-tools/+bug/644489/+attachment/2177364/+files/multipath-tools-eliminate-udev-change-events-lp644489.debdiff
2011-06-21 20:09:25 Peter Petrakis multipath-tools (Ubuntu): status In Progress Fix Released
2011-06-21 20:15:21 Serge Hallyn nominated for series Ubuntu Lucid
2011-06-21 20:15:21 Serge Hallyn bug task added multipath-tools (Ubuntu Lucid)
2011-06-21 20:15:21 Serge Hallyn bug task added udev (Ubuntu Lucid)
2011-06-21 20:15:21 Serge Hallyn nominated for series Ubuntu Maverick
2011-06-21 20:15:21 Serge Hallyn bug task added multipath-tools (Ubuntu Maverick)
2011-06-21 20:15:21 Serge Hallyn bug task added udev (Ubuntu Maverick)
2011-06-21 20:15:21 Serge Hallyn nominated for series Ubuntu Natty
2011-06-21 20:15:21 Serge Hallyn bug task added multipath-tools (Ubuntu Natty)
2011-06-21 20:15:21 Serge Hallyn bug task added udev (Ubuntu Natty)
2011-06-21 20:15:40 Serge Hallyn multipath-tools (Ubuntu Lucid): status New Confirmed
2011-06-21 20:15:44 Serge Hallyn multipath-tools (Ubuntu Maverick): status New Confirmed
2011-06-21 20:15:50 Serge Hallyn multipath-tools (Ubuntu Natty): status New Confirmed
2011-06-21 20:16:06 Serge Hallyn bug added subscriber Ubuntu Stable Release Updates Team
2011-06-21 20:33:30 Peter Petrakis udev (Ubuntu Lucid): status New Invalid
2011-06-21 20:33:33 Peter Petrakis udev (Ubuntu Maverick): status New Invalid
2011-06-21 20:33:36 Peter Petrakis udev (Ubuntu Natty): status New Invalid
2011-06-21 20:34:55 Peter Petrakis affects udev (Ubuntu) ubuntu
2011-06-21 20:37:14 Peter Petrakis description Binary package hint: udev udevd constantly changes LUN device node symlinks (devices/LUNs, not the partition nodes) in /dev/disk/by-id. udevd uses ~15% of CPU and system time is using ~50-60%. For example: [jwm@syslog01.roch.ny:pts/0 /dev/disk/by-id> ls -l wwn-0x60a98000486e5339576f596675735354 wwn-0x60a98000486e5339576f596675744c36 scsi-360a98000486e5339576f596675735354 scsi-360a98000486e5339576f596675744c36; sleep 1; echo '======'; ls -l wwn-0x60a98000486e5339576f596675735354 wwn-0x60a98000486e5339576f596675744c36 scsi-360a98000486e5339576f596675735354 scsi-360a98000486e5339576f596675744c36 lrwxrwxrwx 1 root root 9 2010-09-21 16:12 scsi-360a98000486e5339576f596675735354 -> ../../sde lrwxrwxrwx 1 root root 9 2010-09-21 16:12 scsi-360a98000486e5339576f596675744c36 -> ../../sdf lrwxrwxrwx 1 root root 9 2010-09-21 16:12 wwn-0x60a98000486e5339576f596675735354 -> ../../sde lrwxrwxrwx 1 root root 9 2010-09-21 16:12 wwn-0x60a98000486e5339576f596675744c36 -> ../../sdf ====== lrwxrwxrwx 1 root root 9 2010-09-21 16:12 scsi-360a98000486e5339576f596675735354 -> ../../sdg lrwxrwxrwx 1 root root 9 2010-09-21 16:12 scsi-360a98000486e5339576f596675744c36 -> ../../sdh lrwxrwxrwx 1 root root 9 2010-09-21 16:12 wwn-0x60a98000486e5339576f596675735354 -> ../../sdg lrwxrwxrwx 1 root root 9 2010-09-21 16:12 wwn-0x60a98000486e5339576f596675744c36 -> ../../sdh All other device nodes stay the same, such as the device nodes for the partitions: [jwm@syslog01.roch.ny:pts/0 /dev/disk/by-id> ls -l scsi-360a98000486e5339576f596675735354-part1; sleep 1; echo '======'; ls -l scsi-360a98000486e5339576f596675735354-part1 lrwxrwxrwx 1 root root 10 2010-09-21 15:47 scsi-360a98000486e5339576f596675735354-part1 -> ../../sdg1 ====== lrwxrwxrwx 1 root root 10 2010-09-21 15:47 scsi-360a98000486e5339576f596675735354-part1 -> ../../sdg1 I'm not entirely sure whether this is udev's problem or something related to multipathing. Our most recent experience with multipathing is the last LTS release (hardy), which doesn't exhibit this behavior given similar configurations. [jwm@syslog01.roch.ny:pts/0 ~> sudo multipath -ll rootvol (360a98000486e5339576f596675735354) dm-1 NETAPP ,LUN [size=36G][features=1 queue_if_no_path][hwhandler=0] \_ round-robin 0 [prio=8][active] \_ 2:0:2:0 sda 8:0 [active][ready] \_ 3:0:2:0 sde 8:64 [active][ready] \_ round-robin 0 [prio=2][enabled] \_ 3:0:3:0 sdg 8:96 [active][ready] \_ 2:0:3:0 sdc 8:32 [active][ready] syslog-data (360a98000486e5339576f596675744c36) dm-0 NETAPP ,LUN [size=1.0T][features=1 queue_if_no_path][hwhandler=0] \_ round-robin 0 [prio=8][active] \_ 2:0:2:1 sdb 8:16 [active][ready] \_ 3:0:2:1 sdf 8:80 [active][ready] \_ round-robin 0 [prio=2][enabled] \_ 3:0:3:1 sdh 8:112 [active][ready] \_ 2:0:3:1 sdd 8:48 [active][ready] [jwm@syslog01.roch.ny:pts/0 ~> cat /etc/multipath.conf multipaths { multipath { wwid 360a98000486e5339576f596675735354 alias rootvol } multipath { wwid 360a98000486e5339576f596675744c36 alias syslog-data } } devices { device { vendor "NETAPP " product "LUN " path_checker tur path_grouping_policy group_by_prio prio_callout "/sbin/mpath_prio_netapp /dev/%n" failback immediate rr_min_io 128 no_path_retry queue } } = SRU Justification = == Impact == Multipath-tools is inadvertedly generating UDEV CHANGE events for the SD block devices under it's control. These change events feedback into the udev rules, increasing cpu utlilzation, and ruining the multipath aliasing feature, which allows one to rename a multipath path from a series of letters and numbers, to a human readable label. It gives users the impression that the SAN is unstable. == Solution == Change the open() flags in the priority checkers to read only from read write, this stops sd from generating a change event after the file descriptor has been closed. Patch: https://bugs.launchpad.net/ubuntu/+source/multipath-tools/+bug/644489/+attachment/2177364/+files/multipath-tools-eliminate-udev-change-events-lp644489.debdiff == Reproduction == Is easy, and doesn't even require a SAN. Since we're dealing with simple SCSI inquiry cmds any block device will do. Simply install multipath-tools and execute one of the priority checkers like so: /sbin/mpath_prio_emc /dev/sda also, have a window open monitoring udev, udevadm monitor, ensure no change events to that block device are occurring before hand. TEST CASE: root@kickseed:~# udevadm monitor & [1] 16950 root@kickseed:~# monitor will print the received events for: UDEV - the event which udev sends out after rule processing KERNEL - the kernel uevent root@kickseed:~# root@kickseed:~# /sbin/mpath_prio_emc /dev/sda query command indicates error0 root@kickseed:~# KERNEL[1308688009.806317] change /devices/pci0000:00/0000:00:07.0/0000:04:00.0/host0/port-0:0/expander-0:0/port-0:0:1/end_device-0:0:1/target0:0:0/0:0:0:0/block/sda (block) UDEV [1308688009.823569] change /devices/pci0000:00/0000:00:07.0/0000:04:00.0/host0/port-0:0/expander-0:0/port-0:0:1/end_device-0:0:1/target0:0:0/0:0:0:0/block/sda (block) root@kickseed:~# root@kickseed:~# root@kickseed:~# /sbin/mpath_prio_alua /dev/sda 130 mpath_prio_alua doesn't generate any change events since it's open flags do not include O_RDRW to begin with. == regression potential == None, it's broken to begin with. -------------------------- Binary package hint: udev udevd constantly changes LUN device node symlinks (devices/LUNs, not the partition nodes) in /dev/disk/by-id. udevd uses ~15% of CPU and system time is using ~50-60%. For example: [jwm@syslog01.roch.ny:pts/0 /dev/disk/by-id> ls -l wwn-0x60a98000486e5339576f596675735354 wwn-0x60a98000486e5339576f596675744c36 scsi-360a98000486e5339576f596675735354 scsi-360a98000486e5339576f596675744c36; sleep 1; echo '======'; ls -l wwn-0x60a98000486e5339576f596675735354 wwn-0x60a98000486e5339576f596675744c36 scsi-360a98000486e5339576f596675735354 scsi-360a98000486e5339576f596675744c36 lrwxrwxrwx 1 root root 9 2010-09-21 16:12 scsi-360a98000486e5339576f596675735354 -> ../../sde lrwxrwxrwx 1 root root 9 2010-09-21 16:12 scsi-360a98000486e5339576f596675744c36 -> ../../sdf lrwxrwxrwx 1 root root 9 2010-09-21 16:12 wwn-0x60a98000486e5339576f596675735354 -> ../../sde lrwxrwxrwx 1 root root 9 2010-09-21 16:12 wwn-0x60a98000486e5339576f596675744c36 -> ../../sdf ====== lrwxrwxrwx 1 root root 9 2010-09-21 16:12 scsi-360a98000486e5339576f596675735354 -> ../../sdg lrwxrwxrwx 1 root root 9 2010-09-21 16:12 scsi-360a98000486e5339576f596675744c36 -> ../../sdh lrwxrwxrwx 1 root root 9 2010-09-21 16:12 wwn-0x60a98000486e5339576f596675735354 -> ../../sdg lrwxrwxrwx 1 root root 9 2010-09-21 16:12 wwn-0x60a98000486e5339576f596675744c36 -> ../../sdh All other device nodes stay the same, such as the device nodes for the partitions: [jwm@syslog01.roch.ny:pts/0 /dev/disk/by-id> ls -l scsi-360a98000486e5339576f596675735354-part1; sleep 1; echo '======'; ls -l scsi-360a98000486e5339576f596675735354-part1 lrwxrwxrwx 1 root root 10 2010-09-21 15:47 scsi-360a98000486e5339576f596675735354-part1 -> ../../sdg1 ====== lrwxrwxrwx 1 root root 10 2010-09-21 15:47 scsi-360a98000486e5339576f596675735354-part1 -> ../../sdg1 I'm not entirely sure whether this is udev's problem or something related to multipathing. Our most recent experience with multipathing is the last LTS release (hardy), which doesn't exhibit this behavior given similar configurations. [jwm@syslog01.roch.ny:pts/0 ~> sudo multipath -ll rootvol (360a98000486e5339576f596675735354) dm-1 NETAPP ,LUN [size=36G][features=1 queue_if_no_path][hwhandler=0] \_ round-robin 0 [prio=8][active]  \_ 2:0:2:0 sda 8:0 [active][ready]  \_ 3:0:2:0 sde 8:64 [active][ready] \_ round-robin 0 [prio=2][enabled]  \_ 3:0:3:0 sdg 8:96 [active][ready]  \_ 2:0:3:0 sdc 8:32 [active][ready] syslog-data (360a98000486e5339576f596675744c36) dm-0 NETAPP ,LUN [size=1.0T][features=1 queue_if_no_path][hwhandler=0] \_ round-robin 0 [prio=8][active]  \_ 2:0:2:1 sdb 8:16 [active][ready]  \_ 3:0:2:1 sdf 8:80 [active][ready] \_ round-robin 0 [prio=2][enabled]  \_ 3:0:3:1 sdh 8:112 [active][ready]  \_ 2:0:3:1 sdd 8:48 [active][ready] [jwm@syslog01.roch.ny:pts/0 ~> cat /etc/multipath.conf multipaths {         multipath {                 wwid 360a98000486e5339576f596675735354                 alias rootvol         }         multipath {                 wwid 360a98000486e5339576f596675744c36                 alias syslog-data         } } devices {         device {                 vendor "NETAPP "                 product "LUN "                 path_checker tur                 path_grouping_policy group_by_prio                 prio_callout "/sbin/mpath_prio_netapp /dev/%n"                 failback immediate                 rr_min_io 128                 no_path_retry queue         } }
2011-06-21 21:40:15 Peter Petrakis ubuntu: status Invalid Confirmed
2011-06-21 21:40:20 Peter Petrakis Ubuntu Lucid: status Invalid Confirmed
2011-06-21 21:40:23 Peter Petrakis Ubuntu Maverick: status Invalid Confirmed
2011-06-21 21:40:25 Peter Petrakis Ubuntu Natty: status Invalid Confirmed
2011-06-21 21:52:22 krims0n removed subscriber krims0n
2011-06-24 16:04:14 Martin Pitt ubuntu: status Confirmed Invalid
2011-06-24 16:04:17 Martin Pitt Ubuntu Lucid: status Confirmed Invalid
2011-06-24 16:04:19 Martin Pitt Ubuntu Maverick: status Confirmed Invalid
2011-06-24 16:04:22 Martin Pitt Ubuntu Natty: status Confirmed Invalid
2011-06-24 16:04:36 Martin Pitt multipath-tools (Ubuntu Natty): status Confirmed Fix Committed
2011-06-24 16:04:39 Martin Pitt bug added subscriber SRU Verification
2011-06-24 16:04:44 Martin Pitt tags verification-needed
2011-06-24 17:25:44 Launchpad Janitor branch linked lp:ubuntu/natty-proposed/multipath-tools
2011-06-25 08:03:23 Martin Pitt tags verification-needed verification-done verification-done-natty
2011-06-26 14:56:27 Jorge Salamero Sanz bug added subscriber Jorge Salamero Sanz
2011-06-28 06:48:02 Clint Byrum multipath-tools (Ubuntu Maverick): status Confirmed Fix Committed
2011-06-28 06:48:07 Clint Byrum tags verification-done verification-done-natty verification-done-natty
2011-06-28 06:48:09 Clint Byrum tags verification-done-natty verification-done-natty verification-needed
2011-06-28 06:53:50 Clint Byrum multipath-tools (Ubuntu Lucid): status Confirmed Fix Committed
2011-06-28 07:16:01 Launchpad Janitor branch linked lp:ubuntu/maverick-proposed/multipath-tools
2011-06-29 06:32:50 Martin Pitt tags verification-done-natty verification-needed verification-done
2011-07-05 13:40:45 Launchpad Janitor multipath-tools (Ubuntu Lucid): status Fix Committed Fix Released
2011-07-05 13:40:53 Launchpad Janitor multipath-tools (Ubuntu Maverick): status Fix Committed Fix Released
2011-07-05 13:40:57 Launchpad Janitor multipath-tools (Ubuntu Natty): status Fix Committed Fix Released
2011-07-05 14:22:31 Launchpad Janitor branch linked lp:ubuntu/lucid-updates/multipath-tools
2011-09-19 21:30:13 Ubuntu Foundations Team Bug Bot tags verification-done testcase verification-done