[Libguestfs] [nbdkit PATCH 3/3] tests: Add regression test for NBDKIT_EMULATE_CACHE fix

Richard W.M. Jones rjones at redhat.com
Fri Jun 10 21:26:24 UTC 2022


On Fri, Jun 10, 2022 at 04:15:58PM -0500, Eric Blake wrote:
> On Fri, Jun 10, 2022 at 10:03:23PM +0100, Richard W.M. Jones wrote:
> > After your patch series, the two lines just do nothing at all.
> 
> No, they are still useful. If we don't call them during handshake,
> then the later call to next->can_zero in io.c may fail without setting
> errno.  Any time we want to guarantee a next->can_* function will
> succeed at all later points where we need a sane errno, we do so by
> pre-caching it during handshake.

OK, I see - it's because of the specific behaviour of io_zeroout which
calls next->can_zero / next->zero.  Not obvious at all!

> > 
> > Anyway, I will remove them.
> 
> Please don't. But adding comments for why they are important is okay.

I'll leave them.

> I also fixed another bug today: the eval plugin is smart enough to
> synthesize several .can_* helpers if the corresponding function exists
> (for example, with sh, you have to explicitly implement can_flush to
> get flush called, but not with eval); but the eval plugin wasn't doing
> a good synthesis for .can_cache.

Rich.

-- 
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
Fedora Windows cross-compiler. Compile Windows programs, test, and
build Windows installers. Over 100 libraries supported.
http://fedoraproject.org/wiki/MinGW


More information about the Libguestfs mailing list