|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v10] remus drbd: Implement remus drbd replicated disk
Ian Jackson writes ("Re: [PATCH v10] remus drbd: Implement remus drbd
replicated disk"):
> Shriram Rajagopalan writes ("Re: [PATCH v10] remus drbd: Implement remus drbd
> replicated disk"):
> > Nope. I designed the relevant drbd code such that the ioctl wait times out
> > (configurable) in worst case, returning an error. The time out is generally
> > about 300ms. This code path is exercised only during failures.
>
> If you think this ioctl will, when there is no error, complete
> immediately, can we have a non-blocking [version], and fall back to the
> fork trick ?
>
> Or better still, is there something we could poll() on to find out
> when the ioctl will definitely complete ?
Or, you say the timeout is configurable ?
If it's configurable per control fd, could we perhaps do this:
1. set the timeout to zero
2. make the ioctl DRBD_WAIT_CHECKPOINT_ACK
if the ioctl says "timeout", fork and:
3. set the timeout to something sane
4. make the ioctl again
5. in the parent, use the asynchronous child wait machinery
?
This depends on DRBD_WAIT_CHECKPOINT_ACK doing something sensible if
called again after having timed out.
I hesitate to suggest it, but if there is no better way, perhaps we
will have to make a special-purpose thread just for issuing this
ioctl. That would be a pain.
So, Shriram, suggestions/opinions/etc. welcome.
Thanks,
Ian.
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |