[Libguestfs] [nbdkit PATCH v2] Introduce cacheextents filter

Martin Kletzander mkletzan at redhat.com
Thu May 16 04:47:44 UTC 2019


On Wed, May 15, 2019 at 05:58:27PM -0500, Eric Blake wrote:
>On 5/15/19 5:39 PM, Martin Kletzander wrote:
>> This filter caches the last result of the extents() call and offers a nice
>> speed-up for clients that only support req_on=1 in combination with plugins like
>> vddk, which has no overhead for returning information for multiple extents in
>> one call, but that call is very time-consuming.
>>
>> Quick test showed that on a fast connection and a sparsely allocated 16G disk
>> with a OS installed `qemu-img map` runs 16s instead of 33s (out of which it
>> takes 5s to the first extents request).  For 100G disk with no data on it, that
>> is one hole extent spanning the whole disk (where there is no space for
>> improvement) this does not add any noticeable overhead.
>>
>> Signed-off-by: Martin Kletzander <mkletzan at redhat.com>
>> ---
>> v2:
>>  - Errors are set in _add and _fill functions
>>  - Return values are checked for only -1
>>  - Added a test
>>  - Indentation fixed
>>  - Fixed access before lock
>>
>
>> +
>> +/* This lock protects the global state. */
>> +static pthread_mutex_t lock = PTHREAD_MUTEX_INITIALIZER;
>> +
>> +/* The real size of the underlying plugin. */
>> +static uint64_t size;
>> +
>
>We recently just fixed the truncate filter to NOT cache this globally
>(as doing so is too risky); instead, it needs to be cached
>per-connection.  See commit b3a43ccd.
>

Oh, this should not be here, it is not used at all, just a leftover from
previous version where I cached it, but then figured I'm better off not using
it.

>--
>Eric Blake, Principal Software Engineer
>Red Hat, Inc.           +1-919-301-3226
>Virtualization:  qemu.org | libvirt.org
>



-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/libguestfs/attachments/20190516/ff978fef/attachment.sig>


More information about the Libguestfs mailing list