qemu-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-commits] [qemu/qemu] d69a87: block/mirror: Do not wait for active


From: Paolo Bonzini
Subject: [Qemu-commits] [qemu/qemu] d69a87: block/mirror: Do not wait for active writes
Date: Fri, 11 Nov 2022 08:45:41 -0800

  Branch: refs/heads/staging
  Home:   https://github.com/qemu/qemu
  Commit: d69a879bdf1aed586478eaa161ee064fe1b92f1a
      
https://github.com/qemu/qemu/commit/d69a879bdf1aed586478eaa161ee064fe1b92f1a
  Author: Hanna Reitz <hreitz@redhat.com>
  Date:   2022-11-10 (Thu, 10 Nov 2022)

  Changed paths:
    M block/mirror.c

  Log Message:
  -----------
  block/mirror: Do not wait for active writes

Waiting for all active writes to settle before daring to create a
background copying operation means that we will never do background
operations while the guest does anything (in write-blocking mode), and
therefore cannot converge.  Yes, we also will not diverge, but actually
converging would be even nicer.

It is unclear why we did decide to wait for all active writes to settle
before creating a background operation, but it just does not seem
necessary.  Active writes will put themselves into the in_flight bitmap
and thus properly block actually conflicting background requests.

It is important for active requests to wait on overlapping background
requests, which we do in active_write_prepare().  However, so far it was
not documented why it is important.  Add such documentation now, and
also to the other call of mirror_wait_on_conflicts(), so that it becomes
more clear why and when requests need to actively wait for other
requests to settle.

Another thing to note is that of course we need to ensure that there are
no active requests when the job completes, but that is done by virtue of
the BDS being drained anyway, so there cannot be any active requests at
that point.

With this change, we will need to explicitly keep track of how many
bytes are in flight in active requests so that
job_progress_set_remaining() in mirror_run() can set the correct number
of remaining bytes.

Buglink: https://bugzilla.redhat.com/show_bug.cgi?id=2123297
Signed-off-by: Hanna Reitz <hreitz@redhat.com>
Message-Id: <20221109165452.67927-2-hreitz@redhat.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>


  Commit: eb994912993077f178ccb43b20e422ecf9ae4ac7
      
https://github.com/qemu/qemu/commit/eb994912993077f178ccb43b20e422ecf9ae4ac7
  Author: Hanna Reitz <hreitz@redhat.com>
  Date:   2022-11-10 (Thu, 10 Nov 2022)

  Changed paths:
    M block/mirror.c

  Log Message:
  -----------
  block/mirror: Drop mirror_wait_for_any_operation()

mirror_wait_for_free_in_flight_slot() is the only remaining user of
mirror_wait_for_any_operation(), so inline the latter into the former.

Signed-off-by: Hanna Reitz <hreitz@redhat.com>
Message-Id: <20221109165452.67927-3-hreitz@redhat.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>


  Commit: da93d5c84e56e6b4e84aa8e98b6b984c9b6bb528
      
https://github.com/qemu/qemu/commit/da93d5c84e56e6b4e84aa8e98b6b984c9b6bb528
  Author: Hanna Reitz <hreitz@redhat.com>
  Date:   2022-11-10 (Thu, 10 Nov 2022)

  Changed paths:
    M block/mirror.c

  Log Message:
  -----------
  block/mirror: Fix NULL s->job in active writes

There is a small gap in mirror_start_job() before putting the mirror
filter node into the block graph (bdrv_append() call) and the actual job
being created.  Before the job is created, MirrorBDSOpaque.job is NULL.

It is possible that requests come in when bdrv_drained_end() is called,
and those requests would see MirrorBDSOpaque.job == NULL.  Have our
filter node handle that case gracefully.

Signed-off-by: Hanna Reitz <hreitz@redhat.com>
Message-Id: <20221109165452.67927-4-hreitz@redhat.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>


  Commit: 38591290e7d8c9b5fdeb33eb2b438fef7915de22
      
https://github.com/qemu/qemu/commit/38591290e7d8c9b5fdeb33eb2b438fef7915de22
  Author: Hanna Reitz <hreitz@redhat.com>
  Date:   2022-11-10 (Thu, 10 Nov 2022)

  Changed paths:
    M tests/qemu-iotests/151
    M tests/qemu-iotests/151.out

  Log Message:
  -----------
  iotests/151: Test that active mirror progresses

Before this series, a mirror job in write-blocking mode would pause
issuing background requests while active requests are in flight.  Thus,
if the source is constantly in use by active requests, no actual
progress can be made.

This series should have fixed that, making the mirror job issue
background requests even while active requests are in flight.

Have a new test case in 151 verify this.

Signed-off-by: Hanna Reitz <hreitz@redhat.com>
Message-Id: <20221109165452.67927-5-hreitz@redhat.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>


  Commit: 7b5929c73485b31ebc87c4c20328a6cb40519b71
      
https://github.com/qemu/qemu/commit/7b5929c73485b31ebc87c4c20328a6cb40519b71
  Author: Hanna Reitz <hreitz@redhat.com>
  Date:   2022-11-10 (Thu, 10 Nov 2022)

  Changed paths:
    M tests/qemu-iotests/151
    M tests/qemu-iotests/151.out

  Log Message:
  -----------
  iotests/151: Test active requests on mirror start

Have write requests happen to the source node right when we start a
mirror job.  The mirror filter node may encounter MirrorBDSOpaque.job
being NULL, but this should not cause a segfault.

Signed-off-by: Hanna Reitz <hreitz@redhat.com>
Message-Id: <20221109165452.67927-6-hreitz@redhat.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>


  Commit: c78532652265f03a2a2fbc239821eda34b967272
      
https://github.com/qemu/qemu/commit/c78532652265f03a2a2fbc239821eda34b967272
  Author: Alberto Faria <afaria@redhat.com>
  Date:   2022-11-10 (Thu, 10 Nov 2022)

  Changed paths:
    M qapi/block-core.json

  Log Message:
  -----------
  qapi/block-core: Fix BlockdevOptionsNvmeIoUring @path description

The nvme-io_uring BlockDriver's path option must point at the character
device of an NVMe namespace, not at an image file.

Fixes: fd66dbd424f5 ("blkio: add libblkio block driver")
Suggested-by: Stefano Garzarella <sgarzare@redhat.com>
Signed-off-by: Alberto Faria <afaria@redhat.com>
Message-Id: <20221108142347.1322674-1-afaria@redhat.com>
Reviewed-by: Stefano Garzarella <sgarzare@redhat.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>


  Commit: e56b0c66310feab14a14dd6a24fd58dae178e059
      
https://github.com/qemu/qemu/commit/e56b0c66310feab14a14dd6a24fd58dae178e059
  Author: Alberto Faria <afaria@redhat.com>
  Date:   2022-11-10 (Thu, 10 Nov 2022)

  Changed paths:
    M block/blkio.c

  Log Message:
  -----------
  block/blkio: Set BlockDriver::has_variable_length to false

Setting it to true can cause the device size to be queried from libblkio
in otherwise fast paths, degrading performance. Set it to false and
require users to refresh the device size explicitly instead.

Fixes: 4c8f4fda0504 ("block/blkio: Tolerate device size changes")
Suggested-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Alberto Faria <afaria@redhat.com>
Message-Id: <20221108144433.1334074-1-afaria@redhat.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>


  Commit: d5f8d79c2f1f22cb883ae404abff1ee8276d47f1
      
https://github.com/qemu/qemu/commit/d5f8d79c2f1f22cb883ae404abff1ee8276d47f1
  Author: Hanna Reitz <hreitz@redhat.com>
  Date:   2022-11-10 (Thu, 10 Nov 2022)

  Changed paths:
    M block.c
    M block/block-backend.c
    M blockjob.c
    M include/block/block-global-state.h
    M include/block/block-io.h
    M include/block/block_int-common.h

  Log Message:
  -----------
  block: Make bdrv_child_get_parent_aio_context I/O

We want to use bdrv_child_get_parent_aio_context() from
bdrv_parent_drained_{begin,end}_single(), both of which are "I/O or GS"
functions.

Prior to 3ed4f708fe1, all the implementations were I/O code anyway.
3ed4f708fe1 has put block jobs' AioContext field under the job mutex, so
to make child_job_get_parent_aio_context() work in an I/O context, we
need to take that lock there.

Furthermore, blk_root_get_parent_aio_context() is not marked as
anything, but is safe to run in an I/O context, so mark it that way now.
(blk_get_aio_context() is an I/O code function.)

With that done, all implementations explicitly are I/O code, so we can
mark bdrv_child_get_parent_aio_context() as I/O code, too, so callers
know it is safe to run from both GS and I/O contexts.

Signed-off-by: Hanna Reitz <hreitz@redhat.com>
Message-Id: <20221107151321.211175-2-hreitz@redhat.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>


  Commit: af5b6ebe5b887cb650434f9f7294af597a66314c
      
https://github.com/qemu/qemu/commit/af5b6ebe5b887cb650434f9f7294af597a66314c
  Author: Hanna Reitz <hreitz@redhat.com>
  Date:   2022-11-10 (Thu, 10 Nov 2022)

  Changed paths:
    M block/block-backend.c

  Log Message:
  -----------
  block-backend: Update ctx immediately after root

blk_get_aio_context() asserts that blk->ctx is always equal to the root
BDS's context (if there is a root BDS).  Therefore,
blk_do_set_aio_context() must update blk->ctx immediately after the root
BDS's context has changed.

Without this patch, the next patch would break iotest 238, because
bdrv_drained_begin() (called by blk_do_set_aio_context()) may then
invoke bdrv_child_get_parent_aio_context() on the root child, i.e.
blk_get_aio_context().  However, by this point, blk->ctx would not have
been updated and thus differ from the root node's context.  This patch
fixes that.

Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Hanna Reitz <hreitz@redhat.com>
Message-Id: <20221107151321.211175-3-hreitz@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>


  Commit: ace5a161ea1c09d8eaa8b2a717528457dc924e83
      
https://github.com/qemu/qemu/commit/ace5a161ea1c09d8eaa8b2a717528457dc924e83
  Author: Hanna Reitz <hreitz@redhat.com>
  Date:   2022-11-10 (Thu, 10 Nov 2022)

  Changed paths:
    M block/io.c

  Log Message:
  -----------
  block: Start/end drain on correct AioContext

bdrv_parent_drained_{begin,end}_single() are supposed to operate on the
parent, not on the child, so they should not attempt to get the context
to poll from the child but the parent instead.  BDRV_POLL_WHILE(c->bs)
does get the context from the child, so we should replace it with
AIO_WAIT_WHILE() on the parent's context instead.

This problem becomes apparent when bdrv_replace_child_noperm() invokes
bdrv_parent_drained_end_single() after removing a child from a subgraph
that is in an I/O thread.  By the time bdrv_parent_drained_end_single()
is called, child->bs is NULL, and so BDRV_POLL_WHILE(c->bs, ...) will
poll the main loop instead of the I/O thread; but anything that
bdrv_parent_drained_end_single_no_poll() may have scheduled is going to
want to run in the I/O thread, but because we poll the main loop, the
I/O thread is never unpaused, and nothing is run, resulting in a
deadlock.

Closes: https://gitlab.com/qemu-project/qemu/-/issues/1215
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Hanna Reitz <hreitz@redhat.com>
Message-Id: <20221107151321.211175-4-hreitz@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>


  Commit: 53a3b83259a7880982b3eddda31520ff0d8c9268
      
https://github.com/qemu/qemu/commit/53a3b83259a7880982b3eddda31520ff0d8c9268
  Author: Michael S. Tsirkin <mst@redhat.com>
  Date:   2022-11-10 (Thu, 10 Nov 2022)

  Changed paths:
    M scripts/checkpatch.pl

  Log Message:
  -----------
  checkpatch: typo fix

remove inline #inline - it's an obvious typo. Should just be remove
inline.

Fixes: 1ef47f40dc ("checkpatch: better pattern for inline comments")
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Message-Id: <20221108135155.1121566-1-mst@redhat.com>


  Commit: 28cf39609603e4b5b2de8b74d4caa4d840425eff
      
https://github.com/qemu/qemu/commit/28cf39609603e4b5b2de8b74d4caa4d840425eff
  Author: Michael S. Tsirkin <mst@redhat.com>
  Date:   2022-11-10 (Thu, 10 Nov 2022)

  Changed paths:
    M hw/display/ati_2d.c
    M hw/display/cirrus_vga.c
    M hw/display/cirrus_vga_isa.c
    M hw/display/vga-isa.c
    M hw/display/vga-mmio.c
    M hw/display/vga-pci.c
    M hw/display/vga.c
    M hw/display/vga_int.h
    M hw/display/vmware_vga.c
    M include/qemu/typedefs.h

  Log Message:
  -----------
  display: include dependencies explicitly

acpi-vga-stub.c pulls in vga_int.h
However that currently pulls in ui/console.h which
breaks e.g. on systems without pixman.
It's better to remove ui/console.h from vga_int.h
and directly include it where it's used.

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Message-Id: <20221109222112.74519-1-mst@redhat.com>
Tested-by: Laurent Vivier <lvivier@redhat.com>
Reported-by: Miroslav Rezanina <mrezanin@redhat.com>
Reported-by: Frederic Bezies <fredbezies@gmail.com>
Reported-by: Laurent Vivier <lvivier@redhat.com>
Fixes: cfead31326 ("AcpiDevAmlIf interface to build VGA device descs")
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Tested-by: Philippe Mathieu-Daudé <philmd@linaro.org>


  Commit: f47af0af0db5933664c621b8af8067ebbcbe66cd
      
https://github.com/qemu/qemu/commit/f47af0af0db5933664c621b8af8067ebbcbe66cd
  Author: Xuan Zhuo <xuanzhuo@linux.alibaba.com>
  Date:   2022-11-10 (Thu, 10 Nov 2022)

  Changed paths:
    M hw/net/virtio-net.c
    M include/hw/virtio/virtio.h

  Log Message:
  -----------
  virtio-net: fix for heap-buffer-overflow

Run shell script:

    cat << EOF | valgrind qemu-system-i386 -display none -machine accel=qtest, 
-m \
    512M -M q35 -nodefaults -device virtio-net,netdev=net0 -netdev \
    user,id=net0 -qtest stdio
    outl 0xcf8 0x80000810
    outl 0xcfc 0xc000
    outl 0xcf8 0x80000804
    outl 0xcfc 0x01
    outl 0xc00d 0x0200
    outl 0xcf8 0x80000890
    outb 0xcfc 0x4
    outl 0xcf8 0x80000889
    outl 0xcfc 0x1c000000
    outl 0xcf8 0x80000893
    outw 0xcfc 0x100
    EOF

Got:
    ==68666== Invalid read of size 8
    ==68666==    at 0x688536: virtio_net_queue_enable (virtio-net.c:575)
    ==68666==    by 0x6E31AE: memory_region_write_accessor (memory.c:492)
    ==68666==    by 0x6E098D: access_with_adjusted_size (memory.c:554)
    ==68666==    by 0x6E4DB3: memory_region_dispatch_write (memory.c:1521)
    ==68666==    by 0x6E31AE: memory_region_write_accessor (memory.c:492)
    ==68666==    by 0x6E098D: access_with_adjusted_size (memory.c:554)
    ==68666==    by 0x6E4DB3: memory_region_dispatch_write (memory.c:1521)
    ==68666==    by 0x6EBCD3: flatview_write_continue (physmem.c:2820)
    ==68666==    by 0x6EBFBF: flatview_write (physmem.c:2862)
    ==68666==    by 0x6EF5E7: address_space_write (physmem.c:2958)
    ==68666==    by 0x6DFDEC: cpu_outw (ioport.c:70)
    ==68666==    by 0x6F6DF0: qtest_process_command (qtest.c:480)
    ==68666==  Address 0x29087fe8 is 24 bytes after a block of size 416 in 
arena "client"

That is reported by Alexander Bulekov. 
https://gitlab.com/qemu-project/qemu/-/issues/1309

Here, the queue_index is the index of the cvq, but in some cases cvq
does not have the corresponding NetClientState, so overflow appears.

I add a check here, ignore illegal queue_index and cvq queue_index.

Note the queue_index is below the VIRTIO_QUEUE_MAX but greater or equal
than cvq index could hit this. Other devices are similar.

Fixes: 7f863302 ("virtio-net: support queue_enable")
Fixes: https://gitlab.com/qemu-project/qemu/-/issues/1309
Reported-by: Alexander Bulekov <alxndr@bu.edu>
Signed-off-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com>
Message-Id: <20221110095739.130393-1-xuanzhuo@linux.alibaba.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: ec5651340d445f009db1c2dc507da8cb4df85ad0
      
https://github.com/qemu/qemu/commit/ec5651340d445f009db1c2dc507da8cb4df85ad0
  Author: Thomas Huth <thuth@redhat.com>
  Date:   2022-11-10 (Thu, 10 Nov 2022)

  Changed paths:
    M hw/pci-host/pnv_phb.c

  Log Message:
  -----------
  hw/pci-host/pnv_phb: Avoid quitting QEMU if hotplug of pnv-phb-root-port fails

Currently QEMU terminates if you try to hotplug pnv-phb-root-port in
an environment where it is not supported, e.g. if doing this:

 echo "device_add pnv-phb-root-port" | \
 ./qemu-system-ppc64 -monitor stdio -M powernv9

To avoid this problem, the pnv_phb_root_port_realize() function should
not use error_fatal when trying to set the properties which might not
be available.

Fixes: c2f3f78af5 ("ppc/pnv: set root port chassis and slot using Bus 
properties")
Signed-off-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Cédric Le Goater <clg@kaod.org>
Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Message-Id: <20221109122210.115667-1-thuth@redhat.com>
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>


  Commit: 7d7238c72b983cff5064734349d2d45be9c6282c
      
https://github.com/qemu/qemu/commit/7d7238c72b983cff5064734349d2d45be9c6282c
  Author: Miroslav Rezanina <mrezanin@redhat.com>
  Date:   2022-11-11 (Fri, 11 Nov 2022)

  Changed paths:
    M hw/net/rtl8139.c

  Log Message:
  -----------
  rtl8139: Remove unused variable

Variable send_count used in rtl8139_cplus_transmit_one function is only
incremented but never read. This causes 'Unused but set variable' warning
on Clang 15.0.1 compiler.

Removing the variable to prevent the warning.

Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-Id: 
<15a32dd06c492216cbf27cd3ddcbe1e9afb8d8f5.1668009030.git.mrezanin@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: 6083dcad80743718620a3f8a72fb76ea8b7c28ca
      
https://github.com/qemu/qemu/commit/6083dcad80743718620a3f8a72fb76ea8b7c28ca
  Author: Miroslav Rezanina <mrezanin@redhat.com>
  Date:   2022-11-11 (Fri, 11 Nov 2022)

  Changed paths:
    M hw/net/tulip.c

  Log Message:
  -----------
  tulip: Remove unused variable

Variable n used in tulip_idblock_crc function is only incremented but never 
read.
This causes 'Unused but set variable' warning on Clang 15.0.1 compiler.

Removing the variable to prevent the warning.

Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-Id: 
<02e1560d115c208df32236df8916fed98429fda1.1668009030.git.mrezanin@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: 0f48c47c679bc29fceb3a67283ee3b78175524bf
      
https://github.com/qemu/qemu/commit/0f48c47c679bc29fceb3a67283ee3b78175524bf
  Author: Miroslav Rezanina <mrezanin@redhat.com>
  Date:   2022-11-11 (Fri, 11 Nov 2022)

  Changed paths:
    M qemu-img.c

  Log Message:
  -----------
  qemu-img: remove unused variable

Variable block_count used in img_dd function is only incremented but never read.
This causes 'Unused but set variable' warning on Clang 15.0.1 compiler.

Removing the variable to prevent the warning.

Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-Id: 
<e86d5b57f9d13bde995c616a533b876f1fb8a527.1668009030.git.mrezanin@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: 5ab8ba977d361ecb23cd42c1e5ecf2883e84de32
      
https://github.com/qemu/qemu/commit/5ab8ba977d361ecb23cd42c1e5ecf2883e84de32
  Author: Miroslav Rezanina <mrezanin@redhat.com>
  Date:   2022-11-11 (Fri, 11 Nov 2022)

  Changed paths:
    M hw/usb/host-libusb.c

  Log Message:
  -----------
  host-libusb: Remove unused variable

Variable unconnected used in usb_host_auto_check function is only incremented
but never read as line where it is read was disabled since introducing the code.
This causes 'Unused but set variable' warning on Clang 15.0.1 compiler.

Removing the variable and disabled code to prevent the warning.

Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-Id: 
<00df0db69ff9167d38bac81f6d03281955bd861a.1668009030.git.mrezanin@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: b2a3cbb80c21f38f0cc626ddd642240d7194c8df
      
https://github.com/qemu/qemu/commit/b2a3cbb80c21f38f0cc626ddd642240d7194c8df
  Author: Thomas Huth <thuth@redhat.com>
  Date:   2022-11-11 (Fri, 11 Nov 2022)

  Changed paths:
    M libdecnumber/dpd/decimal64.c

  Log Message:
  -----------
  libdecnumber/dpd/decimal64: Fix compiler warning from Clang 15

Clang 15 from Fedora 37 complains:

 ../libdecnumber/dpd/decimal64.c:620:8: error: variable 'n' set but
 not used [-Werror,-Wunused-but-set-variable]
   Int  n;                     /* output bunch counter */
        ^
 1 error generated.

Remove the unused variable to silence the compiler warning.

Message-Id: <20221110131112.104283-1-thuth@redhat.com>
Reviewed-by: Cédric Le Goater <clg@kaod.org>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: e0091133e3367265c08345afe2950c0c22e93d12
      
https://github.com/qemu/qemu/commit/e0091133e3367265c08345afe2950c0c22e93d12
  Author: Thomas Huth <thuth@redhat.com>
  Date:   2022-11-11 (Fri, 11 Nov 2022)

  Changed paths:
    M qapi/meson.build
    M stubs/meson.build
    M util/meson.build

  Log Message:
  -----------
  qga: Allow building of the guest agent without system emulators or tools

If configuring with "--disable-system --disable-user --enable-guest-agent"
the linking currently fails with:

qga/qemu-ga.p/commands.c.o: In function `qmp_command_info':
build/../../home/thuth/devel/qemu/qga/commands.c:70: undefined reference to 
`qmp_command_name'
build/../../home/thuth/devel/qemu/qga/commands.c:71: undefined reference to 
`qmp_command_is_enabled'
build/../../home/thuth/devel/qemu/qga/commands.c:72: undefined reference to 
`qmp_has_success_response'
qga/qemu-ga.p/commands.c.o: In function `qmp_guest_info':
build/../../home/thuth/devel/qemu/qga/commands.c:82: undefined reference to 
`qmp_for_each_command'
qga/qemu-ga.p/commands.c.o: In function `qmp_guest_exec':
build/../../home/thuth/devel/qemu/qga/commands.c:410: undefined reference to 
`qbase64_decode'
qga/qemu-ga.p/channel-posix.c.o: In function `ga_channel_open':
build/../../home/thuth/devel/qemu/qga/channel-posix.c:214: undefined reference 
to `unix_listen'
build/../../home/thuth/devel/qemu/qga/channel-posix.c:228: undefined reference 
to `socket_parse'
build/../../home/thuth/devel/qemu/qga/channel-posix.c:234: undefined reference 
to `socket_listen'
qga/qemu-ga.p/commands-posix.c.o: In function `qmp_guest_file_write':
build/../../home/thuth/devel/qemu/qga/commands-posix.c:527: undefined reference 
to `qbase64_decode'

Let's make sure that we also compile and link the required files if
the system emulators have not been enabled.

Message-Id: <20221110083626.31899-1-thuth@redhat.com>
Tested-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: f469150be8d49649fa624b04c04795303aa635b1
      
https://github.com/qemu/qemu/commit/f469150be8d49649fa624b04c04795303aa635b1
  Author: Ahmed Abouzied <email@aabouzied.com>
  Date:   2022-11-11 (Fri, 11 Nov 2022)

  Changed paths:
    M hw/net/can/ctu_can_fd_frame.h
    M hw/net/can/ctu_can_fd_regs.h
    M hw/net/e1000_regs.h
    M hw/net/mcf_fec.c
    M hw/net/ne2000.c
    M hw/net/pcnet.c
    M hw/net/pcnet.h
    M net/tap-linux.h

  Log Message:
  -----------
  net: Replace TAB indentations with spaces

Replaces TABs with spaces, making sure to have a consistent coding style
of 4 space indentations in the net subsystem.

Resolves: https://gitlab.com/qemu-project/qemu/-/issues/377
Signed-off-by: Ahmed Abouzied <email@aabouzied.com>
Message-Id: <20210614183849.20622-1-email@aabouzied.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
[thuth: Fixed mis-aligned indentation in some of the files]
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: 2cb40d446fac6a2aeccba7687448a9f48ec6b6c6
      
https://github.com/qemu/qemu/commit/2cb40d446fac6a2aeccba7687448a9f48ec6b6c6
  Author: Stefan Weil <sw@weilnetz.de>
  Date:   2022-11-11 (Fri, 11 Nov 2022)

  Changed paths:
    M docs/devel/acpi-bits.rst
    M docs/system/devices/can.rst
    M hw/scsi/esp.c
    M include/exec/memory.h
    M qapi/virtio.json
    M qemu-options.hx
    M tests/qtest/libqos/qgraph.h
    M tests/qtest/libqos/virtio-9p.c

  Log Message:
  -----------
  Fix several typos in documentation (found by codespell)

Those typos are in files which are used to generate the QEMU manual.

Signed-off-by: Stefan Weil <sw@weilnetz.de>
Message-Id: <20221110190825.879620-1-sw@weilnetz.de>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Ani Sinha <ani@anisinha.ca>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Acked-by: Michael S. Tsirkin <mst@redhat.com>
[thuth: update sentence in can.rst as suggested by Peter]
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: b04af371af685c12970ea93027dc6d8bf86265aa
      
https://github.com/qemu/qemu/commit/b04af371af685c12970ea93027dc6d8bf86265aa
  Author: Hanna Reitz <hreitz@redhat.com>
  Date:   2022-11-11 (Fri, 11 Nov 2022)

  Changed paths:
    A tests/qemu-iotests/tests/stream-under-throttle
    A tests/qemu-iotests/tests/stream-under-throttle.out

  Log Message:
  -----------
  tests/stream-under-throttle: New test

Test streaming a base image into the top image underneath two throttle
nodes.  This was reported to make qemu 7.1 hang
(https://gitlab.com/qemu-project/qemu/-/issues/1215), so this serves as
a regression test.

Signed-off-by: Hanna Reitz <hreitz@redhat.com>
Message-Id: <20221110160921.33158-1-hreitz@redhat.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>


  Commit: 67c6597ad19e07313ea4f845fcda1ad574897242
      
https://github.com/qemu/qemu/commit/67c6597ad19e07313ea4f845fcda1ad574897242
  Author: Stefan Hajnoczi <stefanha@redhat.com>
  Date:   2022-11-11 (Fri, 11 Nov 2022)

  Changed paths:
    M hw/display/ati_2d.c
    M hw/display/cirrus_vga.c
    M hw/display/cirrus_vga_isa.c
    M hw/display/vga-isa.c
    M hw/display/vga-mmio.c
    M hw/display/vga-pci.c
    M hw/display/vga.c
    M hw/display/vga_int.h
    M hw/display/vmware_vga.c
    M hw/net/virtio-net.c
    M include/hw/virtio/virtio.h
    M include/qemu/typedefs.h
    M scripts/checkpatch.pl

  Log Message:
  -----------
  Merge tag 'for_upstream' of https://git.kernel.org/pub/scm/virt/kvm/mst/qemu 
into staging

pc,virtio: regression fixes

fixes issues from the last pull request:

unresolved symbols for taargets without acpi
typo in a comment in checkpatch
virtio buffer overflow

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>

# -----BEGIN PGP SIGNATURE-----
#
# iQFDBAABCAAtFiEEXQn9CHHI+FuUyooNKB8NuNKNVGkFAmNtZ0gPHG1zdEByZWRo
# YXQuY29tAAoJECgfDbjSjVRpc/oIAIYNoZZGbAd9kvePlwO9mDiw8mMILNo2ylnh
# RXNUggqmNy/A4Tiu9WFFUwHlT7CWUQAz6gYTyC3eyr7rz87GhjF16EQ+hMOi9wVr
# MlgbYyvp+/MBQDdJGbJJVXxL1/wmC4LAQws8S3AVY++dvEegxod7uC2vF8abHUP+
# vvihz+SHqhDFL5TSLITNOWQfIp4KIaNIx2ZugHI7mYKUHS7YwW38QC3dScTQlsV/
# /qr1YhJ9mGFWBq+dFytBwcQjA+NSKN2wQJtEQadGO7cTzcrBenLewoN1VOKcv2+s
# jTNAt7Q973HVAQMYWuQB5272S3Xar1ArpUPxm6IwEbYB5Q9OJCg=
# =me5Q
# -----END PGP SIGNATURE-----
# gpg: Signature made Thu 10 Nov 2022 16:04:08 EST
# gpg:                using RSA key 5D09FD0871C8F85B94CA8A0D281F0DB8D28D5469
# gpg:                issuer "mst@redhat.com"
# gpg: Good signature from "Michael S. Tsirkin <mst@kernel.org>" [full]
# gpg:                 aka "Michael S. Tsirkin <mst@redhat.com>" [full]
# Primary key fingerprint: 0270 606B 6F3C DF3D 0B17  0970 C350 3912 AFBE 8E67
#      Subkey fingerprint: 5D09 FD08 71C8 F85B 94CA  8A0D 281F 0DB8 D28D 5469

* tag 'for_upstream' of https://git.kernel.org/pub/scm/virt/kvm/mst/qemu:
  virtio-net: fix for heap-buffer-overflow
  display: include dependencies explicitly
  checkpatch: typo fix

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>


  Commit: b58717063c6093031336ab87d50a69adeb040f87
      
https://github.com/qemu/qemu/commit/b58717063c6093031336ab87d50a69adeb040f87
  Author: Stefan Hajnoczi <stefanha@redhat.com>
  Date:   2022-11-11 (Fri, 11 Nov 2022)

  Changed paths:
    M hw/pci-host/pnv_phb.c

  Log Message:
  -----------
  Merge tag 'pull-ppc-20221111' of https://gitlab.com/danielhb/qemu into staging

ppc patch queue for 2022-11-11:

Short queue with just a single pnv-phb fix from Thomas Huth.

# -----BEGIN PGP SIGNATURE-----
#
# iHUEABYKAB0WIQQX6/+ZI9AYAK8oOBk82cqW3gMxZAUCY24dtwAKCRA82cqW3gMx
# ZNlDAQC+yqONSkYvoANSPNDuMtcK0Lk7KNXFTx5cg8ASNym0twEAkA/YuNv4t0m2
# 9IRfh/xJ+AhKf6VYKbUwftAsZGPTpAc=
# =U0me
# -----END PGP SIGNATURE-----
# gpg: Signature made Fri 11 Nov 2022 05:02:31 EST
# gpg:                using EDDSA key 17EBFF9923D01800AF2838193CD9CA96DE033164
# gpg: Good signature from "Daniel Henrique Barboza <danielhb413@gmail.com>" 
[unknown]
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg:          There is no indication that the signature belongs to the owner.
# Primary key fingerprint: 17EB FF99 23D0 1800 AF28  3819 3CD9 CA96 DE03 3164

* tag 'pull-ppc-20221111' of https://gitlab.com/danielhb/qemu:
  hw/pci-host/pnv_phb: Avoid quitting QEMU if hotplug of pnv-phb-root-port fails

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>


  Commit: 6a4cff8e1a80bafc4b8fe2bfb10081f4880d1b3b
      
https://github.com/qemu/qemu/commit/6a4cff8e1a80bafc4b8fe2bfb10081f4880d1b3b
  Author: Stefan Hajnoczi <stefanha@redhat.com>
  Date:   2022-11-11 (Fri, 11 Nov 2022)

  Changed paths:
    M docs/devel/acpi-bits.rst
    M docs/system/devices/can.rst
    M hw/net/can/ctu_can_fd_frame.h
    M hw/net/can/ctu_can_fd_regs.h
    M hw/net/e1000_regs.h
    M hw/net/mcf_fec.c
    M hw/net/ne2000.c
    M hw/net/pcnet.c
    M hw/net/pcnet.h
    M hw/net/rtl8139.c
    M hw/net/tulip.c
    M hw/scsi/esp.c
    M hw/usb/host-libusb.c
    M include/exec/memory.h
    M libdecnumber/dpd/decimal64.c
    M net/tap-linux.h
    M qapi/meson.build
    M qapi/virtio.json
    M qemu-img.c
    M qemu-options.hx
    M stubs/meson.build
    M tests/qtest/libqos/qgraph.h
    M tests/qtest/libqos/virtio-9p.c
    M util/meson.build

  Log Message:
  -----------
  Merge tag 'pull-request-2022-11-11' of https://gitlab.com/thuth/qemu into 
staging

* Fix "unused variable" warnings from Clang 15
* Allow building of guest-agent without emulators or tools
* White space clean-ups
* Fixes for typos in the documentation

# -----BEGIN PGP SIGNATURE-----
#
# iQJFBAABCAAvFiEEJ7iIR+7gJQEY8+q5LtnXdP5wLbUFAmNuI5YRHHRodXRoQHJl
# ZGhhdC5jb20ACgkQLtnXdP5wLbXfjRAAsUf7C77pVZj5VWpAVYSgHdYJ5WCfVQg3
# Nd4Yixyx8b6yhgY1Vv9OL/uuY04AAWifQn0AUnNBJKrOKcuvU3mHlE/s1imw9CUf
# tsX2gE1GAczQqp5dLL2/+FCMZOC/acFkjmA9LAdOfG7eKzodRdsq/ZaIXd2+MmfM
# nG972Zw0/ZJqQs+DtjwNYvgtywEmRqunKIaCaSwtGHWvot081yw1iW3PvgrKulEr
# v9SQhAurD+ZxcJSeTn3c8L//KYVyCUGQ0K/1cbBcyhPi7xMQar8j7xuCk7xZiOMW
# fvhCOSnjbntsf+xnE2VDlakKQvoY6r30Tl0dzSoH79uzGe+ZTPC+L6ly3tzJ0Vo6
# aslppY+8oYxLbJRX1Im8X0rxK6OqcVjjEXu3fVn8/C1WftIltuy3va2LZNZfQ8Bf
# +Yte3swzvFzgQE19c0HkgMd4uvfqGIkyprs1n2RjzZaI7cnQ4Ati/wQsOKCUrqrY
# VYsy3J1IypM7DO/cZ/JpdDV3PPTWv8JI8H2Agn2VhvY86N9ETn71RAj6UYqufW3W
# H3lMv7L6rU8c1tfcjbr0Xf811EwHekkIjyGt0aJ8MacJNkSc1A4pe+UUGVxNefue
# W0kT2htHQL1Q9JWjbKQuqT/rYrKUfqRDnd809YAzEVO7jpabS8g/hN3wBiaeZDgK
# LqLnITUBhRU=
# =H8p7
# -----END PGP SIGNATURE-----
# gpg: Signature made Fri 11 Nov 2022 05:27:34 EST
# gpg:                using RSA key 27B88847EEE0250118F3EAB92ED9D774FE702DB5
# gpg:                issuer "thuth@redhat.com"
# gpg: Good signature from "Thomas Huth <th.huth@gmx.de>" [full]
# gpg:                 aka "Thomas Huth <thuth@redhat.com>" [full]
# gpg:                 aka "Thomas Huth <huth@tuxfamily.org>" [full]
# gpg:                 aka "Thomas Huth <th.huth@posteo.de>" [unknown]
# Primary key fingerprint: 27B8 8847 EEE0 2501 18F3  EAB9 2ED9 D774 FE70 2DB5

* tag 'pull-request-2022-11-11' of https://gitlab.com/thuth/qemu:
  Fix several typos in documentation (found by codespell)
  net: Replace TAB indentations with spaces
  qga: Allow building of the guest agent without system emulators or tools
  libdecnumber/dpd/decimal64: Fix compiler warning from Clang 15
  host-libusb: Remove unused variable
  qemu-img: remove unused variable
  tulip: Remove unused variable
  rtl8139: Remove unused variable

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>


  Commit: 7596a48637cb0f7e0b3859a5f7d35ac1cd185422
      
https://github.com/qemu/qemu/commit/7596a48637cb0f7e0b3859a5f7d35ac1cd185422
  Author: Stefan Hajnoczi <stefanha@redhat.com>
  Date:   2022-11-11 (Fri, 11 Nov 2022)

  Changed paths:
    M block.c
    M block/blkio.c
    M block/block-backend.c
    M block/io.c
    M block/mirror.c
    M blockjob.c
    M include/block/block-global-state.h
    M include/block/block-io.h
    M include/block/block_int-common.h
    M qapi/block-core.json
    M tests/qemu-iotests/151
    M tests/qemu-iotests/151.out
    A tests/qemu-iotests/tests/stream-under-throttle
    A tests/qemu-iotests/tests/stream-under-throttle.out

  Log Message:
  -----------
  Merge tag 'for-upstream' of https://repo.or.cz/qemu/kevin into staging

Block layer patches

- Fix deadlock in graph modification with iothreads
- mirror: Fix non-converging cases for active mirror
- qapi: Fix BlockdevOptionsNvmeIoUring @path description
- blkio: Set BlockDriver::has_variable_length to false

# -----BEGIN PGP SIGNATURE-----
#
# iQJFBAABCAAvFiEE3D3rFZqa+V09dFb+fwmycsiPL9YFAmNuaXsRHGt3b2xmQHJl
# ZGhhdC5jb20ACgkQfwmycsiPL9Y4rRAAqAtnmNjcrExDe50pMMDSAZ7Z61EtN7c/
# 4+1se5yVpj6Y5Da0bZrY37LexzH8kKnt5EnGJIVBlpz21LWY5JHfphNZ3E8nHP78
# C8viBihTGMkI/LG9dsJZKr8VYm9cOgGsYWpZX3UX3kz93eZSJ2NAqo2UcWcKpoXA
# 8QKD3Le2aPcaF69KKHZxwsnXhDqKRWCV6YfwwIe5hlNCN1uGFKm1BCLv7ZrgZ6Ay
# tWbkcK6k4AQ1w+6iW5oHwKCkVdrsCGtarf6wRfsI4s5CJ19u8iLoep5V+HXTFg90
# 4QkddTZJXZjxMGg4s5byPn8boiIpbTSUclHZtQKBDTBCqxoXbt7j1bGtLMksMHkO
# J9DBlqV1HLSZX9tQ+QGHizliU+Xpi9rKkhS04j1N+vzBz++o8HkhvEV+epRtkzwA
# vaGnyJtu+1wxH4NlTlahhzOXNgiqYabs4cPDZEC6Syo7JiwfBoCcIYJcKdXSqPM+
# 7IXPg6PQ8k74faVAQS9SNJImZz2u1HWX9Y1EGLrxsLdUdZCpguz7XV2NK6EAyBnC
# xoqYVvHoApM6Vn8oza2HoBzq+F5zuG6ioSb2vhM5IGH50g7csPMFpCWb3q7SKhS6
# PSZT0i48mbiqwylnisnZP0Rj1F3HmKwQCVn780OA74bR9nFlHceVW/6kanJomXsd
# mHC7cCzz1qo=
# =kt0A
# -----END PGP SIGNATURE-----
# gpg: Signature made Fri 11 Nov 2022 10:25:47 EST
# gpg:                using RSA key DC3DEB159A9AF95D3D7456FE7F09B272C88F2FD6
# gpg:                issuer "kwolf@redhat.com"
# gpg: Good signature from "Kevin Wolf <kwolf@redhat.com>" [full]
# Primary key fingerprint: DC3D EB15 9A9A F95D 3D74  56FE 7F09 B272 C88F 2FD6

* tag 'for-upstream' of https://repo.or.cz/qemu/kevin:
  tests/stream-under-throttle: New test
  block: Start/end drain on correct AioContext
  block-backend: Update ctx immediately after root
  block: Make bdrv_child_get_parent_aio_context I/O
  block/blkio: Set BlockDriver::has_variable_length to false
  qapi/block-core: Fix BlockdevOptionsNvmeIoUring @path description
  iotests/151: Test active requests on mirror start
  iotests/151: Test that active mirror progresses
  block/mirror: Fix NULL s->job in active writes
  block/mirror: Drop mirror_wait_for_any_operation()
  block/mirror: Do not wait for active writes

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>


Compare: https://github.com/qemu/qemu/compare/2ccad61746ca...7596a48637cb



reply via email to

[Prev in Thread] Current Thread [Next in Thread]