[Libguestfs] [PATCH nbdkit v3] New tmpdisk plugin.

Eric Blake eblake at redhat.com
Tue Mar 17 12:35:09 UTC 2020


On 3/17/20 6:56 AM, Richard W.M. Jones wrote:
> v2 was here:
> https://www.redhat.com/archives/libguestfs/2020-March/msg00154.html
> 
> v3:
> 
> - Micro-optimize tmpdir.
> 
> - Quote $disk in default command shell fragment.
> 
> - Don't redirect mkfs output to /dev/null.  Instead use
>    exec </dev/null >/dev/null before the shell fragment.
> 
>    We may want to do this in other places where we run
>    external shell scripts, or more generally for all
>    plugins, but this commit does not fix this.

Yep, any further work here deserves separate patches; what you have here 
is good enough for now.

> 
> - Improve can_multi_conn comment.
> 
> - Use mkostemp if available.  If not we have to use a
>    racy mkstemp + set_cloexec instead.

I guess the race only affects Haiku, and only happens in the very tight 
window where one client tries to connect while another is between the 
mkstemp and fcntl.  The comment is good enough, without trying to add a 
mutex to work around the race (and maybe the more we keep pointing it 
out to Haiku folks, the more inclined they will be to fix their libc).

> 
> - I still didn't implement .zero, because the implementation
>    (see plugins/file/file.c) is really complicated even if you
>    remove the block device code.  I guess it would be nice to
>    isolate all this complexity into common/ at some point, which
>    would allow us to implement efficient zero (and trim) in other
>    file-backed plugins.

Yeah, a separate patch making this easier through common/ seems like a 
good idea.

> 
> - I left WIFSTOPPED, but I guess I could remove it.  Are we sure
>    it can never happen (eg. if the user is running nbdkit in the
>    foreground and uses ^Z)?

Leaving it doesn't hurt.

> 
> - Rerun the tests & valgrind.

LGTM; I think we're ready for this to go in now.

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




More information about the Libguestfs mailing list