It does internally -- which requires the extra copy from C array to a
bufferlist. I had a PR for wrapping the C array into a bufferlist (w/o
the copy), but Sage pointed out a potential issue with such
implementations (which might still be an issue w/ this PR).

[1] 
https://github.com/yuyuyu101/ceph/commit/794b49b5b860c538a349bdadb16bb6ae97ad9c20

On Wed, Jan 11, 2017 at 12:42 PM, Samuel Just <sj...@redhat.com> wrote:
> Jason: librbd itself uses the librados C++ api though, right?
> -Sam
>
> On Wed, Jan 11, 2017 at 9:37 AM, Jason Dillaman <jdill...@redhat.com> wrote:
>> +1
>>
>> I'd be happy to tweak the internals of librbd to support pass-through
>> of C buffers all the way to librados. librbd clients like QEMU use the
>> C API and this currently results in several extra copies (in librbd
>> and librados).
>>
>> On Wed, Jan 11, 2017 at 11:44 AM, Piotr Dałek <piotr.da...@corp.ovh.com> 
>> wrote:
>>> Hello,
>>>
>>> As the subject says - are here any users/consumers of librados C API? I'm
>>> asking because we're researching if this PR:
>>> https://github.com/ceph/ceph/pull/12216 will be actually beneficial for
>>> larger group of users. This PR adds a bunch of new APIs that perform object
>>> writes without intermediate data copy, which will reduce cpu and memory load
>>> on clients. If you're using librados C API for object writes, feel free to
>>> comment here or in the pull request.
>>>
>>>
>>> --
>>> Piotr Dałek
>>>
>>>
>>> _______________________________________________
>>> ceph-users mailing list
>>> ceph-users@lists.ceph.com
>>> http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com
>>
>>
>>
>> --
>> Jason
>> _______________________________________________
>> ceph-users mailing list
>> ceph-users@lists.ceph.com
>> http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com



-- 
Jason
_______________________________________________
ceph-users mailing list
ceph-users@lists.ceph.com
http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com

Reply via email to