Branch: refs/heads/staging
  Home:   https://github.com/qemu/qemu
  Commit: e460991883d7209d52d0fdb534d9cd8cce0f9cce
      
https://github.com/qemu/qemu/commit/e460991883d7209d52d0fdb534d9cd8cce0f9cce
  Author: Alberto Faria <afa...@redhat.com>
  Date:   2025-05-21 (Wed, 21 May 2025)

  Changed paths:
    M hw/scsi/scsi-disk.c

  Log Message:
  -----------
  scsi-disk: Add native FUA write support

Simply propagate the FUA flag on write requests to the driver. The block
layer will emulate it if necessary.

Signed-off-by: Alberto Faria <afa...@redhat.com>
Message-ID: <20250502121115.3613717-2-afa...@redhat.com>
Reviewed-by: Kevin Wolf <kw...@redhat.com>
Signed-off-by: Kevin Wolf <kw...@redhat.com>


  Commit: 5562e214e82ae4bcb0b642cc52b304bdc78a58c3
      
https://github.com/qemu/qemu/commit/5562e214e82ae4bcb0b642cc52b304bdc78a58c3
  Author: Alberto Faria <afa...@redhat.com>
  Date:   2025-05-21 (Wed, 21 May 2025)

  Changed paths:
    M hw/core/machine.c
    M hw/scsi/scsi-disk.c

  Log Message:
  -----------
  scsi-disk: Advertise FUA support by default

Allow the guest to submit FUA requests directly, instead of forcing it
to emulate them using a regular flush.

Signed-off-by: Alberto Faria <afa...@redhat.com>
Message-ID: <20250502121115.3613717-3-afa...@redhat.com>
Reviewed-by: Kevin Wolf <kw...@redhat.com>
Signed-off-by: Kevin Wolf <kw...@redhat.com>


  Commit: ff2ab634e4bb3bddcf5f5ee29e0b46f71e3f4b54
      
https://github.com/qemu/qemu/commit/ff2ab634e4bb3bddcf5f5ee29e0b46f71e3f4b54
  Author: Denis Rastyogin <ger...@altlinux.org>
  Date:   2025-05-22 (Thu, 22 May 2025)

  Changed paths:
    M qemu-img.c

  Log Message:
  -----------
  qemu-img: fix offset calculation in bench

This error was discovered by fuzzing qemu-img.

The current offset calculation leads to an EIO error
in block/block-backend.c: blk_check_byte_request():

 if (offset > len || len - offset < bytes) {
     return -EIO;
 }

This triggers the error message:
"qemu-img: Failed request: Input/output error".

Example of the issue:
 offset: 260076
 len: 260096
 bytes: 4096

This fix ensures that offset remains within a valid range.

Signed-off-by: Denis Rastyogin <ger...@altlinux.org>
Message-ID: <20250506141410.100119-1-ger...@altlinux.org>
[kwolf: Fixed up integer overflow]
Signed-off-by: Kevin Wolf <kw...@redhat.com>


  Commit: 5634622bcb339f213469eceeff005640492fc902
      
https://github.com/qemu/qemu/commit/5634622bcb339f213469eceeff005640492fc902
  Author: Stefan Hajnoczi <stefa...@redhat.com>
  Date:   2025-05-22 (Thu, 22 May 2025)

  Changed paths:
    M block/file-posix.c

  Log Message:
  -----------
  file-posix: allow BLKZEROOUT with -t writeback

The Linux BLKZEROOUT ioctl is only invoked when BDRV_O_NOCACHE is set
because old kernels did not invalidate the page cache. In that case
mixing BLKZEROOUT with buffered I/O could lead to corruption.

However, Linux 4.9 commit 22dd6d356628 ("block: invalidate the page
cache when issuing BLKZEROOUT") made BLKZEROOUT coherent with the page
cache.

I have checked that Linux 4.9+ kernels are shipped at least as far back
as Debian 10 (buster), openSUSE Leap 15.2, and RHEL/CentOS 8.

Use BLKZEROOUT with buffered I/O, mostly so `qemu-img ... -t
writeback` can offload write zeroes.

Cc: Paolo Bonzini <pbonz...@redhat.com>
Cc: Christoph Hellwig <h...@lst.de>
Signed-off-by: Stefan Hajnoczi <stefa...@redhat.com>
Message-ID: <20250417211053.98700-1-stefa...@redhat.com>
Reviewed-by: Eric Blake <ebl...@redhat.com>
Reviewed-by: Kevin Wolf <kw...@redhat.com>
Signed-off-by: Kevin Wolf <kw...@redhat.com>


  Commit: bf627788ef17721955bfcfba84209a07ae5f54ea
      
https://github.com/qemu/qemu/commit/bf627788ef17721955bfcfba84209a07ae5f54ea
  Author: Kevin Wolf <kw...@redhat.com>
  Date:   2025-05-22 (Thu, 22 May 2025)

  Changed paths:
    M block/file-posix.c

  Log Message:
  -----------
  file-posix: Probe paths and retry SG_IO on potential path errors

When scsi-block is used on a host multipath device, it runs into the
problem that the kernel dm-mpath doesn't know anything about SCSI or
SG_IO and therefore can't decide if a SG_IO request returned an error
and needs to be retried on a different path. Instead of getting working
failover, an error is returned to scsi-block and handled according to
the configured error policy. Obviously, this is not what users want,
they want working failover.

QEMU can parse the SG_IO result and determine whether this could have
been a path error, but just retrying the same request could just send it
to the same failing path again and result in the same error.

With a kernel that supports the DM_MPATH_PROBE_PATHS ioctl on dm-mpath
block devices (queued in the device mapper tree for Linux 6.16), we can
tell the kernel to probe all paths and tell us if any usable paths
remained. If so, we can now retry the SG_IO ioctl and expect it to be
sent to a working path.

Signed-off-by: Kevin Wolf <kw...@redhat.com>
Message-ID: <20250522130803.34738-1-kw...@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefa...@redhat.com>
Reviewed-by: Hanna Czenczek <hre...@redhat.com>
Signed-off-by: Kevin Wolf <kw...@redhat.com>


  Commit: 668df86ee8076152320345d8e36be7c95ec0a09a
      
https://github.com/qemu/qemu/commit/668df86ee8076152320345d8e36be7c95ec0a09a
  Author: Stefan Hajnoczi <stefa...@redhat.com>
  Date:   2025-05-23 (Fri, 23 May 2025)

  Changed paths:
    M block/file-posix.c
    M hw/core/machine.c
    M hw/scsi/scsi-disk.c
    M qemu-img.c

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

Block layer patches

- scsi-disk: Add native FUA write support, enable FUA by default
- qemu-img: fix offset calculation in bench
- file-posix: allow BLKZEROOUT with -t writeback
- file-posix: Probe paths and retry SG_IO on potential path errors

# -----BEGIN PGP SIGNATURE-----
#
# iQJFBAABCAAvFiEE3D3rFZqa+V09dFb+fwmycsiPL9YFAmgvbSARHGt3b2xmQHJl
# ZGhhdC5jb20ACgkQfwmycsiPL9ZDmhAAm34XjSe/aQJG76Nll18eO8lnoWidsnjX
# OoSI3//O77dE0AuMOxSVvfve+ZkV4ehZDeo+GeREBZh3TGBPHf+elVfo3XEu/L5u
# +jWTNgoNe7pdlkxB4pv9boHIy2C7+/odVNtmVggxuNy2kyQoKP0tXHEjqiHjNzB6
# jCHXegklC9psXt+wgQGJpFkeI8r2OtABkEP15PtI02gvQyk+spBg0sr6pB5FP2ZY
# y8YWgOXeXis6QHqARMpqoiRGxhCQrWuKuzwZfeyNmLvYLWCBqmt3Opk+3kMPU6NB
# KrXZHCJXtaIlLO7YeurPXcnFQsJ94IY7x1TvIza5mgY+ct7mal2uN4u29PnhnLLm
# eXSgSiXhb8h9PY8KfOQfU9brclijcbV8Rn7sSP6WPX00bHspib275gNG4RLPxnxi
# AezWfBg1IOYAvliwq99ZY+Ts+faezo7XiNQbfNpZ82pzxhO6IqemSH2IcDS6SpjO
# mNoGLNmCi3CpQw1bdlnqwiU1OxWsHK2627VGyLZXPnOrYPr+erN/A4Nucxr2bzJk
# 69dKg0/ekTucTtKiF1uRl/bkhTOHplOogyyuKala6ogsthvBV8jmGAEEqZnMTVtx
# opAl7MSpVa4FWQ7C2LHi5vYEVNGC8OLXYBy09N73m/Q+Fs+z6bViFy3BQdUO+Nh1
# OjmUGzSrqRo=
# =yjOc
# -----END PGP SIGNATURE-----
# gpg: Signature made Thu 22 May 2025 14:29:52 EDT
# gpg:                using RSA key DC3DEB159A9AF95D3D7456FE7F09B272C88F2FD6
# gpg:                issuer "kw...@redhat.com"
# gpg: Good signature from "Kevin Wolf <kw...@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:
  file-posix: Probe paths and retry SG_IO on potential path errors
  file-posix: allow BLKZEROOUT with -t writeback
  qemu-img: fix offset calculation in bench
  scsi-disk: Advertise FUA support by default
  scsi-disk: Add native FUA write support

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


Compare: https://github.com/qemu/qemu/compare/4589acc17ae1...668df86ee807

To unsubscribe from these emails, change your notification settings at 
https://github.com/qemu/qemu/settings/notifications

Reply via email to