-----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-----