[dm-devel] racing libdevmapper calls
goggin, edward
egoggin at emc.com
Wed Oct 19 17:46:16 UTC 2005
On Wed, 19 Oct 2005 00:30:45 +0200
Christophe Varoqui <christophe.varoqui at free.fr> wrote:
> The following command :
> # dmsetup remove foo;echo "0 10 linear 8:16 63"|dmsetup create foo &
> echo "0 20 linear 8:16 63"|dmsetup create foo
>
> will quite easily produce error message like :
> "device-mapper ioctl cmd 3 failed: Device or resource busy"
>
> Is it designed behaviour ?
Yes, I think so. Whichever create runs first wins the race.
The second create gets EBUSY since the name "foo" is already
taken.
> Can't we expect libdevmapper to serialize its ioctls ?
No, this is unreasonable. Any time ordering of these events
should be external to the libdevmapper library.
>
> multipath(8), being run in storms by udev, has trouble with this.
> Ideas ?
I've been working on patches to multipath-tools which will allow
multipathd(8) to properly react add/remove path/map block type
uevents and not require any multipath-tools interaction with hotplug.
I think these patches have also eliminated the need for multipath(8) to
be used to configure paths -- although it is still needed to display
the results in pretty format -- at least until "multipath -k" is
enhanced to do similarly.
>
> Regards,
> cvaroqui
More information about the dm-devel
mailing list