* [PULL v3 00/15] NBD patches through 2026-10-08
@ 2026-10-14 18:42 Eric Blake
2026-10-14 18:42 ` [PULL v3 11/15] iotests/migrate-bitmaps-postcopy-test: add a bitmap on a second node Eric Blake
2026-10-15 8:53 ` [PULL v3 00/15] NBD patches through 2026-10-08 Richard Henderson
0 siblings, 2 replies; 4+ messages in thread
From: Eric Blake @ 2026-10-14 18:42 UTC (permalink / raw)
To: qemu-devel
The following changes since commit 8ee6c77176cfee03be0ec7665b6652b2f31f1531:
Merge tag 'pull-ufs-20261012' of https://gitlab.com/jeuk20.kim/qemu into staging (2026-10-13 22:01:07 +0200)
are available in the Git repository at:
https://gitlab.com/ebblake/qemu.git tags/pull-nbd-2026-10-08-v3
for you to fetch changes up to 9c4c3cb45b321b6365a1b03df14ca7449523aac0:
iotests/iothreads-nbd-export: Skip on s390 (2026-10-14 13:07:56 -0500)
[v3: sending only the updated cover letter and patch 11/15]
----------------------------------------------------------------
NBD patches through 2026-10-08
Several fixes, including:
- Eric Blake: Update MAINTAINERS, support qemu-nbd -s -l
- Fiona Ebner: Report flush error on qemu-img convert
- Guillaume Vinke: Fix NBD client on dead connection
- Denis V. Lunev: Fix postcopy dirty bitmap migration
- Eric Farman: Several iotest improvements
----------------------------------------------------------------
Denis V. Lunev (3):
migration: add QEMU_COUNTED_STRING_SIZE for counted string buffers
migration/block-dirty-bitmap: fix postcopy abort with bitmaps on several nodes
iotests/migrate-bitmaps-postcopy-test: add a bitmap on a second node
Eric Blake (2):
maint: Update eblake's staging repo
qemu-nbd: Support -s and -l at the same time
Eric Farman (4):
iotests/nbd-in-qcow2-chain: use default machine
iotests/nbd-tls-iothread: skip on non-x86 hardware
iotests/fuse-truncate: skip if FUSE is not usable
iotests/iothreads-nbd-export: Skip on s390
Fiona Ebner (4):
iotests: add test cases for failing flush after qemu-img convert
iotests.py: add filter_qemu()
block: report flush error during bdrv_close()
qemu-img: convert: flush target image after copying
Guillaume Vincke (2):
nbd/client-connection: Fix client returning a closed channel
iotests: Add coverage for NBD connect thread start delay
docs/tools/qemu-nbd.rst | 7 +-
include/migration/qemu-file-types.h | 6 +-
block.c | 13 +++-
migration/block-dirty-bitmap.c | 62 ++++++++++++++--
migration/qemu-file.c | 5 +-
nbd/client-connection.c | 32 +++++++++
qemu-img.c | 8 ++-
qemu-nbd.c | 22 +++++-
MAINTAINERS | 4 +-
tests/qemu-iotests/026 | 10 +--
tests/qemu-iotests/026.out | 84 ++++++++++++++++++++++
tests/qemu-iotests/071 | 2 +-
tests/qemu-iotests/071.out | 2 +
tests/qemu-iotests/080.out | 2 +
tests/qemu-iotests/098.out | 4 ++
tests/qemu-iotests/122 | 33 +++++++++
tests/qemu-iotests/122.out | 17 +++++
tests/qemu-iotests/244 | 2 +-
tests/qemu-iotests/244.out | 1 +
tests/qemu-iotests/iotests.py | 4 ++
tests/qemu-iotests/tests/file-io-error | 2 +-
tests/qemu-iotests/tests/file-io-error.out | 2 +
tests/qemu-iotests/tests/fuse-truncate | 9 ++-
tests/qemu-iotests/tests/iothreads-nbd-export | 5 ++
.../tests/migrate-bitmaps-postcopy-test | 22 ++++++
tests/qemu-iotests/tests/nbd-in-qcow2-chain | 2 +-
tests/qemu-iotests/tests/nbd-stale-connection | 62 ++++++++++++++++
tests/qemu-iotests/tests/nbd-stale-connection.out | 17 +++++
tests/qemu-iotests/tests/nbd-tls-iothread | 4 ++
tests/qemu-iotests/tests/qemu-nbd-snapshots | 81 +++++++++++++++++++++
tests/qemu-iotests/tests/qemu-nbd-snapshots.out | 39 ++++++++++
tests/qemu-iotests/tests/qsd-migrate | 5 +-
tests/qemu-iotests/tests/qsd-migrate.out | 1 +
33 files changed, 538 insertions(+), 33 deletions(-)
create mode 100755 tests/qemu-iotests/tests/nbd-stale-connection
create mode 100644 tests/qemu-iotests/tests/nbd-stale-connection.out
create mode 100755 tests/qemu-iotests/tests/qemu-nbd-snapshots
create mode 100644 tests/qemu-iotests/tests/qemu-nbd-snapshots.out
--
2.56.0
^ permalink raw reply [flat|nested] 4+ messages in thread
* [PULL v3 11/15] iotests/migrate-bitmaps-postcopy-test: add a bitmap on a second node
2026-10-14 18:42 [PULL v3 00/15] NBD patches through 2026-10-08 Eric Blake
@ 2026-10-14 18:42 ` Eric Blake
2026-10-15 8:53 ` [PULL v3 00/15] NBD patches through 2026-10-08 Richard Henderson
1 sibling, 0 replies; 4+ messages in thread
From: Eric Blake @ 2026-10-14 18:42 UTC (permalink / raw)
To: qemu-devel
Cc: Denis V. Lunev, Peter Xu, Fabiano Rosas,
Vladimir Sementsov-Ogievskiy, Kevin Wolf, Hanna Reitz,
open list:Block layer core
From: "Denis V. Lunev" <den@openvz.org>
All bitmaps in the test live on drive0, so the source never switches
nodes after setup and the destination never resolves a node name from
the postcopy listen thread. Add a second drive with one bitmap and check
that it arrives intact.
Signed-off-by: Denis V. Lunev <den@openvz.org>
Tested-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Cc: Peter Xu <peterx@redhat.com>
Cc: Fabiano Rosas <farosas@suse.de>
Cc: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
Message-ID: <20261006170738.453977-4-den@openvz.org>
[eblake: squash in fix to pass even after aborted run left behind stale
fifo, and to avoid check-python-minreqs lint failure]
Signed-off-by: Eric Blake <eblake@redhat.com>
---
.../tests/migrate-bitmaps-postcopy-test | 22 +++++++++++++++++++
1 file changed, 22 insertions(+)
diff --git a/tests/qemu-iotests/tests/migrate-bitmaps-postcopy-test b/tests/qemu-iotests/tests/migrate-bitmaps-postcopy-test
index b2b37ada4b2..53f7dafc79a 100755
--- a/tests/qemu-iotests/tests/migrate-bitmaps-postcopy-test
+++ b/tests/qemu-iotests/tests/migrate-bitmaps-postcopy-test
@@ -27,6 +27,8 @@ debug = False
disk_a = os.path.join(iotests.test_dir, 'disk_a')
disk_b = os.path.join(iotests.test_dir, 'disk_b')
+disk_a1 = os.path.join(iotests.test_dir, 'disk_a1')
+disk_b1 = os.path.join(iotests.test_dir, 'disk_b1')
size = '256G'
fifo = os.path.join(iotests.test_dir, 'mig_fifo')
@@ -97,16 +99,26 @@ class TestDirtyBitmapPostcopyMigration(iotests.QMPTestCase):
self.vm_b.shutdown()
os.remove(disk_a)
os.remove(disk_b)
+ os.remove(disk_a1)
+ os.remove(disk_b1)
os.remove(fifo)
def setUp(self):
+ if os.path.exists(fifo):
+ os.remove(fifo)
os.mkfifo(fifo)
qemu_img('create', '-f', iotests.imgfmt, disk_a, size)
qemu_img('create', '-f', iotests.imgfmt, disk_b, size)
+ qemu_img('create', '-f', iotests.imgfmt, disk_a1, '1G')
+ qemu_img('create', '-f', iotests.imgfmt, disk_b1, '1G')
self.vm_a = iotests.VM(path_suffix='a').add_drive(disk_a,
'discard=unmap')
self.vm_b = iotests.VM(path_suffix='b').add_drive(disk_b,
'discard=unmap')
+ self.drive1_sha256 = ""
+ # A bitmap on a second node makes postcopy switch nodes after setup
+ self.vm_a.add_drive(disk_a1)
+ self.vm_b.add_drive(disk_b1)
self.vm_b.add_incoming("exec: cat '" + fifo + "'")
self.vm_a.launch()
self.vm_b.launch()
@@ -127,6 +139,13 @@ class TestDirtyBitmapPostcopyMigration(iotests.QMPTestCase):
node='drive0', name='bitmap0')
empty_sha256 = result['return']['sha256']
+ self.vm_a.cmd('block-dirty-bitmap-add', node='drive1',
+ name='bitmap0', granularity=granularity)
+ self.vm_a.hmp_qemu_io('drive1', 'write 0 64k')
+ result = self.vm_a.qmp('x-debug-block-dirty-bitmap-sha256',
+ node='drive1', name='bitmap0')
+ self.drive1_sha256 = result['return']['sha256']
+
apply_discards(self.vm_a, discards1)
result = self.vm_a.qmp('x-debug-block-dirty-bitmap-sha256',
@@ -212,6 +231,9 @@ class TestDirtyBitmapPostcopyMigration(iotests.QMPTestCase):
# check that bitmaps are migrated and persistence works
check_bitmaps(self.vm_b, nb_bitmaps)
+ result = self.vm_b.qmp('x-debug-block-dirty-bitmap-sha256',
+ node='drive1', name='bitmap0')
+ self.assert_qmp(result, 'return/sha256', self.drive1_sha256)
self.vm_b.shutdown()
# recreate vm_b, so there is no incoming option, which prevents
# loading bitmaps from disk
--
2.56.0
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PULL v3 00/15] NBD patches through 2026-10-08
2026-10-14 18:42 [PULL v3 00/15] NBD patches through 2026-10-08 Eric Blake
2026-10-14 18:42 ` [PULL v3 11/15] iotests/migrate-bitmaps-postcopy-test: add a bitmap on a second node Eric Blake
@ 2026-10-15 8:53 ` Richard Henderson
2026-10-15 14:41 ` Eric Blake
1 sibling, 1 reply; 4+ messages in thread
From: Richard Henderson @ 2026-10-15 8:53 UTC (permalink / raw)
To: Eric Blake; +Cc: qemu-devel@nongnu.org Developers
[-- Attachment #1: Type: text/plain, Size: 4841 bytes --]
https://gitlab.com/qemu-project/qemu/-/pipelines/2949515618
Still 8 job failures, and this time they're clearly nbd related. Did you
not see these when testing yourself? Or is it a quirk of our k8s ci setup
for merge testing?
r~
On Wed, 14 Oct 2026, 20:43 Eric Blake, <eblake@redhat.com> wrote:
> The following changes since commit
> 8ee6c77176cfee03be0ec7665b6652b2f31f1531:
>
> Merge tag 'pull-ufs-20261012' of https://gitlab.com/jeuk20.kim/qemu
> into staging (2026-10-13 22:01:07 +0200)
>
> are available in the Git repository at:
>
> https://gitlab.com/ebblake/qemu.git tags/pull-nbd-2026-10-08-v3
>
> for you to fetch changes up to 9c4c3cb45b321b6365a1b03df14ca7449523aac0:
>
> iotests/iothreads-nbd-export: Skip on s390 (2026-10-14 13:07:56 -0500)
>
> [v3: sending only the updated cover letter and patch 11/15]
>
> ----------------------------------------------------------------
> NBD patches through 2026-10-08
>
> Several fixes, including:
> - Eric Blake: Update MAINTAINERS, support qemu-nbd -s -l
> - Fiona Ebner: Report flush error on qemu-img convert
> - Guillaume Vinke: Fix NBD client on dead connection
> - Denis V. Lunev: Fix postcopy dirty bitmap migration
> - Eric Farman: Several iotest improvements
>
> ----------------------------------------------------------------
> Denis V. Lunev (3):
> migration: add QEMU_COUNTED_STRING_SIZE for counted string buffers
> migration/block-dirty-bitmap: fix postcopy abort with bitmaps on
> several nodes
> iotests/migrate-bitmaps-postcopy-test: add a bitmap on a second node
>
> Eric Blake (2):
> maint: Update eblake's staging repo
> qemu-nbd: Support -s and -l at the same time
>
> Eric Farman (4):
> iotests/nbd-in-qcow2-chain: use default machine
> iotests/nbd-tls-iothread: skip on non-x86 hardware
> iotests/fuse-truncate: skip if FUSE is not usable
> iotests/iothreads-nbd-export: Skip on s390
>
> Fiona Ebner (4):
> iotests: add test cases for failing flush after qemu-img convert
> iotests.py: add filter_qemu()
> block: report flush error during bdrv_close()
> qemu-img: convert: flush target image after copying
>
> Guillaume Vincke (2):
> nbd/client-connection: Fix client returning a closed channel
> iotests: Add coverage for NBD connect thread start delay
>
> docs/tools/qemu-nbd.rst | 7 +-
> include/migration/qemu-file-types.h | 6 +-
> block.c | 13 +++-
> migration/block-dirty-bitmap.c | 62 ++++++++++++++--
> migration/qemu-file.c | 5 +-
> nbd/client-connection.c | 32 +++++++++
> qemu-img.c | 8 ++-
> qemu-nbd.c | 22 +++++-
> MAINTAINERS | 4 +-
> tests/qemu-iotests/026 | 10 +--
> tests/qemu-iotests/026.out | 84
> ++++++++++++++++++++++
> tests/qemu-iotests/071 | 2 +-
> tests/qemu-iotests/071.out | 2 +
> tests/qemu-iotests/080.out | 2 +
> tests/qemu-iotests/098.out | 4 ++
> tests/qemu-iotests/122 | 33 +++++++++
> tests/qemu-iotests/122.out | 17 +++++
> tests/qemu-iotests/244 | 2 +-
> tests/qemu-iotests/244.out | 1 +
> tests/qemu-iotests/iotests.py | 4 ++
> tests/qemu-iotests/tests/file-io-error | 2 +-
> tests/qemu-iotests/tests/file-io-error.out | 2 +
> tests/qemu-iotests/tests/fuse-truncate | 9 ++-
> tests/qemu-iotests/tests/iothreads-nbd-export | 5 ++
> .../tests/migrate-bitmaps-postcopy-test | 22 ++++++
> tests/qemu-iotests/tests/nbd-in-qcow2-chain | 2 +-
> tests/qemu-iotests/tests/nbd-stale-connection | 62 ++++++++++++++++
> tests/qemu-iotests/tests/nbd-stale-connection.out | 17 +++++
> tests/qemu-iotests/tests/nbd-tls-iothread | 4 ++
> tests/qemu-iotests/tests/qemu-nbd-snapshots | 81
> +++++++++++++++++++++
> tests/qemu-iotests/tests/qemu-nbd-snapshots.out | 39 ++++++++++
> tests/qemu-iotests/tests/qsd-migrate | 5 +-
> tests/qemu-iotests/tests/qsd-migrate.out | 1 +
> 33 files changed, 538 insertions(+), 33 deletions(-)
> create mode 100755 tests/qemu-iotests/tests/nbd-stale-connection
> create mode 100644 tests/qemu-iotests/tests/nbd-stale-connection.out
> create mode 100755 tests/qemu-iotests/tests/qemu-nbd-snapshots
> create mode 100644 tests/qemu-iotests/tests/qemu-nbd-snapshots.out
>
> --
> 2.56.0
>
>
>
[-- Attachment #2: Type: text/html, Size: 6260 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PULL v3 00/15] NBD patches through 2026-10-08
2026-10-15 8:53 ` [PULL v3 00/15] NBD patches through 2026-10-08 Richard Henderson
@ 2026-10-15 14:41 ` Eric Blake
0 siblings, 0 replies; 4+ messages in thread
From: Eric Blake @ 2026-10-15 14:41 UTC (permalink / raw)
To: Richard Henderson; +Cc: qemu-devel@nongnu.org Developers
On Thu, Oct 15, 2026 at 10:53:39AM +0200, Richard Henderson wrote:
> https://gitlab.com/qemu-project/qemu/-/pipelines/2949515618
>
> Still 8 job failures, and this time they're clearly nbd related. Did you
> not see these when testing yourself? Or is it a quirk of our k8s ci setup
> for merge testing?
Both 'make check' and 'cd build/tests/qemu-iotests; ./check -nbd' are
passing for me, but since k8s seems to be tickling something I didn't
see locally, I'll continue investigating.
Is there an easier way for me to run the CI tests on my own branch
without sending a pull request, so that I can see the same job
failures without having to cost your time first?
--
Eric Blake, Principal Software Engineer
Red Hat, Inc.
Virtualization: qemu.org | libguestfs.org
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2026-10-15 14:42 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-10-14 18:42 [PULL v3 00/15] NBD patches through 2026-10-08 Eric Blake
2026-10-14 18:42 ` [PULL v3 11/15] iotests/migrate-bitmaps-postcopy-test: add a bitmap on a second node Eric Blake
2026-10-15 8:53 ` [PULL v3 00/15] NBD patches through 2026-10-08 Richard Henderson
2026-10-15 14:41 ` Eric Blake
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.