On Fri, Aug 26, 2011 at 12:25, Yehuda Sadeh Weinraub <yehud...@gmail.com> wrote:
> On Fri, Aug 26, 2011 at 12:10 PM, Tommi Virtanen
> <tommi.virta...@dreamhost.com> wrote:
>> e.g. 8kB at a time. And at that point you might as well just use read
>> and not read_iterate, that'll do the memsetting etc for you, and then
>> you can use a static buffer and avoid malloc/free every round. There's
>> no shortcut to be had from "skipping" holes when you need to feed
>> bytes to a hash function.
>
> Well, when using read_iterate you avoid reading extra data over the
> network when the object (chunk) exists (and is sparse). We can
> probably have some optimization here, and only allocate and memset a
> buffer once for the case where len == objsize and reuse it later.

Reading src/librbd.cc, I don't see the holes going over the wire in
either case. read() is just a simple wrapper on top of read_iterate(),
that memsets to 0 in case of a hole. Which in this case he was doing
manually, so why not just use read() in the first place.
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to