Re: Approaches to wrapping aio_exec

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

 



On Mon, Mar 4, 2013 at 11:34 AM, Noah Watkins <jayhawk@xxxxxxxxxxx> wrote:
>
> On Mar 3, 2013, at 6:31 PM, Yehuda Sadeh <yehuda@xxxxxxxxxxx> wrote:
>
>> I pushed the wip-librados-exec branch last week that solves a similar
>> issue. I added two more ObjectOperation::exec() api calls. The more
>> interesting one added a callback context that is called with the
>> output buffer of the completed sub-op. Currently in order to use it
>> you'll need to use operate()/aio_operate(), however, a similar
>> aio_exec interface can be added.
>
> Thanks for the pointer to the branch. So, if I understand correctly,
> we might have a new librados::aio_exec_completion call that accepts
> a completion object? For example:
>
> aio_exec_completion(AioCompletion *c, bufferlist *outbl,
>             ObjectOperationCompletion* completion)
> {
>   Context *onack = new C_aio_Ack(c);
>
>   ::ObjectOperation rd;
>   ObjectOpCompletionCtx *ctx = new ObjectOpCompletionCtx(completion);
>   rd.call(cls, method, inbl, ctx->outbl, ctx, NULL);
>   objecter->read(oid, oloc, rd, snap_seq, outbl, 0, onack, &c->objver);
>
>   return 0;
> }
>
> where the caller would provide an ObjectOperationCompletion where it's
> finish(..) would unwrap the protocol?

Right.

>
> Do you expect wip-librados-exec going up stream pretty soon, and would

We can push it ahead if needed, it doesn't depend on any of the stuff
I'm working on right now. It just waits for someone to properly review
it.

> something like librados::aio_exec_completion be a candidate for adding
> to librados?
>

Sure, if there's a need then I don't see why not.

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