multipath: make path devices readonly again.
authorBenjamin Marzinski <bmarzins@redhat.com>
Sat, 12 Jan 2013 06:04:55 +0000 (00:04 -0600)
committerChristophe Varoqui <christophe.varoqui@opensvc.com>
Sat, 12 Jan 2013 12:40:11 +0000 (13:40 +0100)
Path device fds were changed to be opened read/write when the
mpathpersist code was added. However, I have talked with Vijay, and
this doesn't appear to be necessary for mpathpersist to work correctly.
If the path fds are opened read/write, when the are closed a change
uevent is triggered, which was causing problems during shutdown with
LVM on top of multipath devices. This patch reverts them to being read-only
again.

Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
libmultipath/discovery.c

index 831cfef..8b6f74d 100644 (file)
@@ -886,7 +886,7 @@ pathinfo (struct path *pp, vector hwtable, int mask)
         * fetch info not available through sysfs
         */
        if (pp->fd < 0)
-               pp->fd = open(udev_device_get_devnode(pp->udev), O_RDWR);
+               pp->fd = open(udev_device_get_devnode(pp->udev), O_RDONLY);
 
        if (pp->fd < 0) {
                condlog(4, "Couldn't open node for %s: %s",