All of lore.kernel.org
 help / color / mirror / Atom feed
* [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.