On Mon, Jul 09, 2012 at 04:33:25PM -0000, Peter Petrakis wrote:
> I'm not familiar with the cookie feature you mentioned, but we appear to have some of the
> capability here. I haven't compared it to upstream yet.
The code issuing the removal ioctl specfies a cookie (a semaphore with a
positive value). It then waits until the semaphore drops to 0.
The last thing the udev rules do after they've updated /dev is decrement
the semaphore, which wakes up the original code.
There are libdevmapper calls and dmsetup commands to update/query cookie state.
udev 'watch' rules can run out-of-band and need careful configuration to
avoid problems.
If libvirt is issuing dm ioctls or dmsetup commands itself then it might
also need to be udevcookie-aware - not something that's arisen in any
discussions yet - there is some default udevcookie handling built into
dmsetup commands.
I was assured the upstream multipath udevcookie support was complete,
but I've not verified that personally - perhaps we have a situation
that's overlooked here.
On Mon, Jul 09, 2012 at 04:33:25PM -0000, Peter Petrakis wrote:
> I'm not familiar with the cookie feature you mentioned, but we appear to have some of the
> capability here. I haven't compared it to upstream yet.
The code issuing the removal ioctl specfies a cookie (a semaphore with a
positive value). It then waits until the semaphore drops to 0.
The last thing the udev rules do after they've updated /dev is decrement
the semaphore, which wakes up the original code.
There are libdevmapper calls and dmsetup commands to update/query cookie state.
udev 'watch' rules can run out-of-band and need careful configuration to
avoid problems.
If libvirt is issuing dm ioctls or dmsetup commands itself then it might
also need to be udevcookie-aware - not something that's arisen in any
discussions yet - there is some default udevcookie handling built into
dmsetup commands.
I was assured the upstream multipath udevcookie support was complete,
but I've not verified that personally - perhaps we have a situation
that's overlooked here.