Re: librados aio completion

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

 



On Mon, Apr 16, 2012 at 2:20 PM, Greg Farnum
<gregory.farnum@xxxxxxxxxxxxx> wrote:
> On Monday, April 16, 2012 at 2:07 PM, Sage Weil wrote:
>> On Mon, 16 Apr 2012, Greg Farnum wrote:
>> > Or set the bool to true, then do the callback, then signal?
>>
>>
>> That's sort of what I was getting at with
>> wait_for_complete_and_callback_returned(). We could make
>> wait_for_complete() do that, although it should be a second bool because
>> cond.Wait() can wake up nondeterministically (because of a signal or
>> something). For example I could clear the callback pointer after it
>> returns, and make the wait loop check for the bool and callback_ptr ==
>> NULL.
>>
>> It just means the wait_for_complete() does not actually wait for
>> is_complete(), but is_complete() && did callback.
>
>
> Okay. I'm just thinking that we need "wait_for_complete()" to be the stronger variant, since that's how it previously behaved. (Whereas I believe that previously is_complete() and is_safe() functioned correctly inside callbacks, correct? So we need to preserve that behavior as well.)
> If we want the weaker guarantee for some reason, we can add a wait_for_complete_response() or similar.
>

wait_for_ack() : got ack or safe response, entails is_ack()
wait_for_safe(): got safe response, entails is_safe(), is_ack()
wait_for_complete(): done with the request, callback returned, entails
is_complete(), is_safe(), is_ack()
--
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