After chatting with Douglas Gilbert on this I know have a better understanding of the problem. This very issue has been raised by him before on linux-scsi and it never saw final resolution.
http://kerneltrap.org/mailarchive/linux-scsi/2010/2/15/6778453 When the file descriptor to the SD device is closed, the change event occurs, presumably because it was opened with O_RDRW to begin with, though nothing actually changed. By changing that flag to O_RDONLY, no udev events are generated when the fd closes. It doesn't address the root cause but it's sufficient to get us unjammed safely while we continue to work on a better solution. That solution may be adjusting the multipath priority checkers to use the corresponding sg devices when presented with an sd device. Either way, there's more work to do. Since all the priority checkers amount to different degrees of scsi inquiry, and vendor specific san interrogation commands. I believe we're safe with the O_RDONLY approach. All data direction flags for sg io in this case are SG_DXFER_FROM_DEV or SG_DXFER_NONE. ** Patch 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 -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/644489 Title: constantly changes /dev/disk/by-id/{scsi,wwn}-* LUN symlinks with multipathing To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/multipath-tools/+bug/644489/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs