[Libguestfs] [PATCH nbdkit 1/2] tests/test-python-plugin.py: Allow test to use large disks
Nir Soffer
nsoffer at redhat.com
Tue Dec 21 22:47:59 UTC 2021
On Wed, Dec 22, 2021 at 12:36 AM Richard W.M. Jones <rjones at redhat.com> wrote:
>
> On Tue, Dec 21, 2021 at 10:25:35PM +0000, Richard W.M. Jones wrote:
> > On Wed, Dec 22, 2021 at 12:21:25AM +0200, Nir Soffer wrote:
> > > It would be help also if we can test extents argument, currently the
> > > plugin ignores the argument so we did not detect the issue with the
> > > wrong format string.
> >
> > OK, I'll take a look.
>
> I see - the plugin function is defined just to return the extents sent
> in (for testing):
>
> def extents(h, count, offset, flags):
> return cfg.get('extents', [])
>
> This means we don't test the parameters. However to test those
> realistically I suppose we would really need to support sparse disks
> in this test plugin, which seems quite tricky.
I think what can work is this:
- pass the actual extents to the plugin
For example empty sparse file:
extents = [(0, 10 * GiB, nbdkit.EXTENT_ZERO)]
Now when we request:
extents(4*GB -1, 0, 0)
The plugin can return:
return [(0, count, nbdkit.EXTENT_ZERO)]
The logic to return extents from the existing list is a little tricky. I have
similar code in a memory backend for imageio (in review):
https://github.com/oVirt/ovirt-imageio/pull/7/commits/9068f84c96f1239d841fbfe7e80296be7be0a245
And this is also the code for getting extents from imageio, posted here:
https://listman.redhat.com/archives/libguestfs/2021-December/msg00197.html
More information about the Libguestfs
mailing list