search for: queryallocatedblocks

Displaying 6 results from an estimated 6 matches for "queryallocatedblocks".

2019 Mar 27
2
Re: [PATCH nbdkit 7/8] vddk: Implement extents.
...This inner loop might be long; you could add this: > > > > if (req_one) > > break; So interestingly _no_ you can't add that here, and the reason does reveal why the REQ_ONE flag is still hard to get right even with the simpler implementation of extents. Because VDDK's QueryAllocatedBlocks API only works for some very large aligned block size (64K IIRC), we round down the requested offset before querying VDDK. So in the inner loop the first extent we get back might lie before the offset (before extents->start). IOW nbdkit_add_extent has succeeded but we haven't added any ext...
2019 Mar 27
0
Re: [PATCH nbdkit 7/8] vddk: Implement extents.
...ld add this: >>> >>> if (req_one) >>> break; > > So interestingly _no_ you can't add that here, and the reason does > reveal why the REQ_ONE flag is still hard to get right even with the > simpler implementation of extents. > > Because VDDK's QueryAllocatedBlocks API only works for some very large > aligned block size (64K IIRC), we round down the requested offset > before querying VDDK. So in the inner loop the first extent we get > back might lie before the offset (before extents->start). IOW > nbdkit_add_extent has succeeded but we haven...
2019 Mar 23
2
Re: [PATCH nbdkit 7/8] vddk: Implement extents.
On 3/20/19 5:11 PM, Richard W.M. Jones wrote: > This uses a new API VixDiskLib_QueryAllocatedBlocks provided in > VDDK >= 6.7. > > Thanks: Martin Kletzander. > --- > plugins/vddk/vddk-structs.h | 15 +++- > plugins/vddk/vddk.c | 138 ++++++++++++++++++++++++++++++++++++ > 2 files changed, 152 insertions(+), 1 deletion(-) > > +static int > +vddk_extent...
2019 Mar 20
0
Re: [PATCH nbdkit 1/9] server: Implement extents/can_extents calls for plugins and filters.
...e "background" extent ... It probably should do to reduce surprises [see below]. As you say though, rules around REQ_ONE are very complex - I implemented it for the file plugin, but my initial implementation for the VDDK plugin was incorrect and I removed it. Unfortunately because VDDK QueryAllocatedBlocks is so slow we will need to implement this optimization at some point and try to get it right. > > +If there is an error, C<.extents> should call C<nbdkit_error> with an > > +error message, and C<nbdkit_set_error> to record an appropriate error > > +(unless C<...
2019 Mar 20
2
Re: [PATCH nbdkit 1/9] server: Implement extents/can_extents calls for plugins and filters.
On 3/19/19 11:34 AM, Richard W.M. Jones wrote: > This pair of calls allows plugins to describe which extents in the > virtual disk are allocated, holes or zeroes. > --- > + void nbdkit_extents_free (struct nbdkit_extents_map *); > + > +Frees an existing extents map. Is this like free() where it is safe to call on NULL? > + > +=head3 Iterating over nbdkit_extents_map
2019 Mar 28
32
[PATCH nbdkit v5 FINAL 00/19] Implement extents.
This has already been pushed upstream. I am simply posting these here so we have a reference in the mailing list in case we find bugs later (as I'm sure we will - it's a complex patch series). Great thanks to Eric Blake for tireless review on this one. It also seems to have identified a few minor bugs in qemu along the way. Rich.