[PATCH nbdkit 00/10] Make --run imply -U -
by Richard W.M. Jones
Should have done this a long time ago. I feel it is about time we
change the default of nbdkit --run to imply -U -, rather than opening
a public port.
Patch series turned out to be a little bit more complicated than I
anticipated, but it contains some nice clean ups.
Last patch updating the documentation wouldn't be applied any time
soon, so that the old docs stay around on the website.
Rich.
1 year, 2 months
virt-v2v creating image that does not install guest agent on first boot
by Lee Garrett
Hi,
rwmjones from #guestfs on libera IRC pointed me to this mail address.
I've noticed that converting the latest Windows 11 trial image via virt-v2v does
not install the guest agent any more on first boot. I have let the machine
settle for ~10 minutes to ensure it's not just because I'm too impatient. I can
see C:\qemu-ga-x86-64.msi, and also a bunch of files in "C:\Program
Files\Guestfs\Firstboot\" and .\Scripts, so the files are definitely copied onto
the VM image, just not executed for some reason.
The vmware image was downloaded from
https://developer.microsoft.com/en-us/windows/downloads/virtual-machines/. The
issue should be 100% reproducible (at least for me). I recall that an older
image from two, three weeks ago downloaded from the same location did not have
this issue. There guest agent was installed and working on the first boot.
Unfortunately I overwrote the image so I cannot verify this.
I have attached the debug output of the virt-v2v run of the latest image where
this issue is apparent (guest agent not being installed).
Please let me know if there's anything else I can check, or if you need any
further info.
Cheers,
Lee
1 year, 2 months
[libnbd PATCH v4 00/25] enable 64-bit extensions
by Eric Blake
Continuation of my v4 patches which started here:
https://listman.redhat.com/archives/libguestfs/2023-July/032077.html
and compared to my v3 patches here:
https://listman.redhat.com/archives/libguestfs/2023-May/031617.html
Most of the differences from the earlier version is in the front end:
Laszlo had some good suggestions about reworking how 64-bit server
replies are handled without doing an in-place widening or narrowing,
and without introducing a callback shim. I also split up the OCaml
patches to focus on one language binding at a time, instead of all at
once. Many of the later patches are unchanged because the API
addition is still the same, all that differs was how it was
implemented internally. Also new at the end is an additional
strictness flag that can be cleared to intentionally send or omit the
PAYLOAD_LEN flag for the purposes of server integration testing.
001/25:[down] 'block_status: Add some sanity checking of server lengths'
002/25:[down] 'generator: Add Extent64 arg type for upcoming use'
003/25:[down] 'generator: Support Extent64 arg in C code'
004/25:[down] 'generator: Support Extent64 arg in Python code'
005/25:[down] 'golang: Change logic of copy_uint32_array'
006/25:[down] 'generator: Support Extent64 arg in Go code'
007/25:[down] 'generator: Support Extent64 arg in OCaml code'
008/25:[0214] [FC] 'block_status: Accept 64-bit extents during block status'
009/25:[down] 'generator: Prepare for extent64 callback'
010/25:[0387] [FC] 'api: Add [aio_]nbd_block_status_64'
011/25:[down] 'api: Add tests for [aio_]nbd_block_status_64'
012/25:[----] [--] 'api: Add several functions for controlling extended headers'
013/25:[----] [--] 'copy: Update nbdcopy to use 64-bit block status'
014/25:[----] [--] 'dump: Update nbddump to use 64-bit block status'
015/25:[down] 'info: Add --has alias for --can'
016/25:[0016] [FC] 'info: Expose extended-headers support through nbdinfo'
017/25:[----] [--] 'info: Update nbdinfo --map to use 64-bit block status'
018/25:[----] [--] 'examples: Update copy-libev to use 64-bit block status'
019/25:[----] [--] 'ocaml: Add example for 64-bit extents'
020/25:[----] [--] 'generator: Actually request extended headers'
021/25:[----] [--] 'api: Add nbd_[aio_]opt_extended_headers()'
022/25:[0012] [FC] 'interop: Add test of 64-bit block status'
023/25:[0040] [FC] 'api: Add nbd_can_block_status_payload()'
024/25:[0010] [FC] 'api: Add nbd_[aio_]block_status_filter()'
025/25:[down] 'api: Add LIBNBD_STRICT_AUTO_FLAG control to nbd_set_strict'
Eric Blake (25):
block_status: Add some sanity checking of server lengths
generator: Add Extent64 arg type for upcoming use
generator: Support Extent64 arg in C code
generator: Support Extent64 arg in Python code
golang: Change logic of copy_uint32_array
generator: Support Extent64 arg in Go code
generator: Support Extent64 arg in OCaml code
block_status: Accept 64-bit extents during block status
generator: Prepare for extent64 callback
api: Add [aio_]nbd_block_status_64
api: Add tests for [aio_]nbd_block_status_64
api: Add several functions for controlling extended headers
copy: Update nbdcopy to use 64-bit block status
dump: Update nbddump to use 64-bit block status
info: Add --has alias for --can
info: Expose extended-headers support through nbdinfo
info: Update nbdinfo --map to use 64-bit block status
examples: Update copy-libev to use 64-bit block status
ocaml: Add example for 64-bit extents
generator: Actually request extended headers
api: Add nbd_[aio_]opt_extended_headers()
interop: Add test of 64-bit block status
api: Add nbd_can_block_status_payload()
api: Add nbd_[aio_]block_status_filter()
api: Add LIBNBD_STRICT_AUTO_FLAG control to nbd_set_strict
docs/libnbd.pod | 18 +-
info/nbdinfo.pod | 46 +-
sh/nbdsh.pod | 2 +-
lib/internal.h | 26 +-
lib/nbd-protocol.h | 7 +
generator/API.mli | 1 +
generator/API.ml | 542 +++++++++++++++---
generator/state_machine.ml | 41 ++
generator/states-newstyle.c | 3 +
.../states-newstyle-opt-extended-headers.c | 110 ++++
generator/states-newstyle-opt-starttls.c | 7 +-
.../states-newstyle-opt-structured-reply.c | 3 +-
generator/states-issue-command.c | 4 +-
generator/states-reply-chunk.c | 213 +++++--
generator/C.ml | 19 +
generator/GoLang.ml | 40 +-
generator/Makefile.am | 1 +
generator/OCaml.ml | 20 +-
generator/Python.ml | 23 +-
lib/aio.c | 12 +-
lib/flags.c | 12 +
lib/handle.c | 26 +-
lib/opt.c | 44 ++
lib/rw.c | 240 +++++++-
python/t/110-defaults.py | 1 +
python/t/120-set-non-defaults.py | 2 +
python/t/465-block-status-64.py | 56 ++
ocaml/examples/Makefile.am | 1 +
ocaml/examples/extents64.ml | 42 ++
ocaml/helpers.c | 21 +
ocaml/nbd-c.h | 1 +
ocaml/tests/Makefile.am | 1 +
ocaml/tests/test_110_defaults.ml | 2 +
ocaml/tests/test_120_set_non_defaults.ml | 3 +
ocaml/tests/test_465_block_status_64.ml | 58 ++
tests/meta-base-allocation.c | 104 +++-
examples/copy-libev.c | 21 +-
examples/server-flags.c | 7 +-
interop/Makefile.am | 18 +
interop/block-status-64.c | 186 ++++++
interop/block-status-64.sh | 49 ++
interop/block-status-payload.c | 241 ++++++++
interop/block-status-payload.sh | 80 +++
interop/opt-extended-headers.c | 153 +++++
interop/opt-extended-headers.sh | 29 +
.gitignore | 3 +
copy/nbd-ops.c | 22 +-
dump/dump.c | 27 +-
fuzzing/libnbd-fuzz-wrapper.c | 20 +-
golang/Makefile.am | 1 +
golang/handle.go | 6 +
golang/libnbd_110_defaults_test.go | 8 +
golang/libnbd_120_set_non_defaults_test.go | 12 +
golang/libnbd_465_block_status_64_test.go | 119 ++++
info/can.c | 16 +-
info/info-can.sh | 36 +-
info/info-packets.sh | 17 +-
info/main.c | 11 +-
info/map.c | 65 ++-
info/show.c | 9 +-
60 files changed, 2632 insertions(+), 276 deletions(-)
create mode 100644 generator/states-newstyle-opt-extended-headers.c
create mode 100644 python/t/465-block-status-64.py
create mode 100644 ocaml/examples/extents64.ml
create mode 100644 ocaml/tests/test_465_block_status_64.ml
create mode 100644 interop/block-status-64.c
create mode 100755 interop/block-status-64.sh
create mode 100644 interop/block-status-payload.c
create mode 100755 interop/block-status-payload.sh
create mode 100644 interop/opt-extended-headers.c
create mode 100755 interop/opt-extended-headers.sh
create mode 100644 golang/libnbd_465_block_status_64_test.go
base-commit: 70329e9585297bc42cf3db3bf508263137dade8d
--
2.41.0
1 year, 2 months
[libnbd PATCH 0/3] Simplify nbd_shutdown vs. opt mode
by Eric Blake
While working on a larger set of patches to make nbdinfo favor
NBD_OPT_INFO over NBD_OPT_GO where possible (which requires use of
nbd_set_opt_mode(,true) in more cases), I noticed that it got unwieldy
to have to pick the correct shutdown function in all code paths. So I
propose making the API smarter, by adding an opt-in flag that does the
right thing on my behalf.
If you have an idea for a better name for the flag, or think this
functionality should be enabled by default, let me know. Part of the
reason for choosing a new flag is that it becomes a compile-time
witness of whether nbd_shutdown has the desired capability (if we
allow it to auto-opt_abort without a flag, it's harder to tell whether
we are running against an older libnbd where it errors out instead).
Eric Blake (3):
tests: Test behavior of nbd_shutdown during opt mode
api: Add new COVER_OPT_MODE flag to nbd_shutdown
info: Simplify shutdown calls
generator/API.ml | 21 ++++--
lib/disconnect.c | 15 ++++
tests/Makefile.am | 5 ++
tests/shutdown-opt-mode.c | 149 ++++++++++++++++++++++++++++++++++++++
.gitignore | 1 +
info/list.c | 8 +-
info/main.c | 4 +-
7 files changed, 188 insertions(+), 15 deletions(-)
create mode 100644 tests/shutdown-opt-mode.c
--
2.41.0
1 year, 2 months