Re: librados aio completion

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sunday, April 15, 2012 at 9:44 PM, Sage Weil wrote:
> We just switched the completion callbacks so that they are called 
> asynchronously from another thread. This makes the locking less weird for 
> certain callers and lets you call back into librados in your callback 
> safely.
> 
> This breaks one of the functional tests, which sets a bool in the 
> callback, does wait_for_complete() on the aio handle, and then asserts 
> that the bool is set. There's now a race between the caller's thread and 
> the completion thread.
> 
> Do we just call this a broken test, or do we want some way of blocking on 
> the aio handle until the completion has been called?
> 


I think we have to block the aio handle until the completion has been called. Expecting users to (constantly re-)implement that themselves is just silly, and anybody who needs to wait_for_complete() is going to expect the completion to have been called.
I don't remember exactly how wait_for_complete() is triggered, but it can't be too difficult to move it into the completion thread.
-Greg

--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [CEPH Users]     [Ceph Large]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux