[dm-devel] [PATCH] multipath assumes pathnames are block devices

Bryn M. Reeves breeves at redhat.com
Mon Jan 15 20:36:15 UTC 2007


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

When a name is passed on the multipath command line, multipath assumes
it is a block device if it appears in the filesystem:

multipath/main.c:386:
if (filepresent(conf->dev))
        conf->dev_type = DEV_DEVNODE;
else if (sscanf(conf->dev, "%d:%d", &i, &i) == 2)
                conf->dev_type = DEV_DEVT;
        else
                conf->dev_type = DEV_DEVMAP;

This conflicts with the use of "-f" (flush map by name), in the case
that a file of the same name as the map exists in the current directory:

$ multipath -f mpath0
$ touch mpath0
$ multipath -f mpath0
must provide a map name to remove

The attached patch avoids this by adding a new function isblockdev() to
libmultipath/util.c and adding this to the DEV_DEVNODE condition. This
also means that we check for the case that what the user passed was a
character device, fifo etc.

It's probably also worth changing "-f" option to take an explicit
mapname argument, rather than just using argv[optind] after option
processing - I'll send another patch for that.

Kind regards,

Bryn.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (GNU/Linux)
Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org

iD8DBQFFq+W/6YSQoMYUY94RAojDAKDD+0xeACwY8S/ommZw6SX0pw8Z1gCcDzhV
ZkYc0ZtRHPxRQzk+JO5zDkU=
=azH8
-----END PGP SIGNATURE-----
-------------- next part --------------
A non-text attachment was scrubbed...
Name: multipath-tools-0.4.7-check_path_is_blockdev.patch
Type: text/x-patch
Size: 1078 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/dm-devel/attachments/20070115/43dc2dcc/attachment.bin>


More information about the dm-devel mailing list