On 7/21/20 12:46 PM, Eric Blake wrote:

(2) The --run option no longer sets $exportname (to -e) nor puts the
     export name into the $uri.  However this was always the wrong
     thing to do since export names are per connection, not per server.
     Existing --run scripts will see $exportname expand to "" which is
     most likely what they saw before and overwhelmingly more likely to
     be correct than if the -e option had been used.


The more I think about it, the more I disagree with disabling this. Or, put another way, I think that the _only_ time -e makes sense is _when_ you are using --run. Consider:

nbdkit -U - -e foo info --run 'nbdsh -u $uri -c "print(h.pread(3, 0))"'
nbdkit -U - -e bar info --run 'nbdsh -u $uri -c "print(h.pread(3, 0))"'

Of course, you can accomplish the same with:

nbdkit -U - info --run 'nbdsh -u nbd+unix:///foo\?socket=$unixsocket \
  -c "print(h.pread(3, 0))"'

but that's a lot more painful to write.

We _don't_ need to advertise 'foo' or 'bar' over NBD_OPT_INFO (at least, not for plugins that don't implement the forthcoming .export_list callback), but _do_ need a way for the captive application (nbdsh in this case) to know _which_ export the captive should connect to.

And, if we reinstate _just_ that usage of -e,...

(4) I have temporarily disabled tests/test-long-name.sh.  This is
     still a valid test, but we will have to rewrite it to use
     (probably) sh or eval plugins once we have an implementation of
     list_exports.
---

...we may not have to disable this test after all.

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

_______________________________________________
Libguestfs mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/libguestfs

Reply via email to