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