[PATCH v4 0/6] block: improve error reporting for unsupported O_DIRECT

Daniel P. Berrangé posted 6 patches 3 years, 8 months ago
Test docker-quick@centos7 failed
Test docker-mingw@fedora failed
Test checkpatch passed
Test FreeBSD failed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20200821172105.608752-1-berrange@redhat.com
There is a newer version of this series
accel/kvm/kvm-all.c            |  2 +-
backends/rng-random.c          |  2 +-
backends/tpm/tpm_passthrough.c |  8 ++--
block/file-posix.c             | 16 +++----
block/file-win32.c             |  5 +-
block/vvfat.c                  |  5 +-
chardev/char-fd.c              |  2 +-
chardev/char-pipe.c            |  6 +--
chardev/char.c                 |  2 +-
dump/dump.c                    |  2 +-
hw/s390x/s390-skeys.c          |  2 +-
hw/usb/host-libusb.c           |  2 +-
hw/vfio/common.c               |  4 +-
include/qemu/osdep.h           |  8 +++-
io/channel-file.c              |  2 +-
net/vhost-vdpa.c               |  2 +-
os-posix.c                     |  2 +-
qga/channel-posix.c            |  4 +-
qga/commands-posix.c           |  6 +--
target/arm/kvm.c               |  2 +-
tests/qemu-iotests/051.out     |  4 +-
tests/qemu-iotests/051.pc.out  |  4 +-
tests/qemu-iotests/061.out     |  2 +-
tests/qemu-iotests/069.out     |  2 +-
tests/qemu-iotests/082.out     |  4 +-
tests/qemu-iotests/111.out     |  2 +-
tests/qemu-iotests/226.out     |  6 +--
tests/qemu-iotests/232.out     | 12 ++---
tests/qemu-iotests/244.out     |  6 +--
ui/console.c                   |  2 +-
util/osdep.c                   | 83 ++++++++++++++++++++++++++++------
util/oslib-posix.c             |  2 +-
32 files changed, 136 insertions(+), 77 deletions(-)
[PATCH v4 0/6] block: improve error reporting for unsupported O_DIRECT
Posted by Daniel P. Berrangé 3 years, 8 months ago
v1: https://lists.gnu.org/archive/html/qemu-devel/2020-07/msg00269.html
v2: https://lists.gnu.org/archive/html/qemu-devel/2020-07/msg00589.html
v3: https://lists.gnu.org/archive/html/qemu-devel/2020-07/msg07098.html

See patch commit messages for rationale

Ideally we would convert other callers of qemu_open to use
qemu_open_err, and eventually remove qemu_open, renaming
qemu_open_err back to qemu_open.  Given soft freeze is just
days away though, I'm hoping this series is simple enough
to get into this release, leaving bigger cleanup for later.

Improved in v4:

 - Use assert() for programmer mistakes
 - Split second patch into three distinct parts
 - Misc typos
 - Improve commit message

Improved in v3:

 - Re-arrange the patches series, so that the conversion to Error
   takes place first, then the improve O_DIRECT reporting
 - Rename existing method to qemu_open_old
 - Use a pair of new methods qemu_open + qemu_create to improve
   arg checking

Improved in v2:

 - Mention that qemu_open_err is preferred over qemu_open
 - Get rid of obsolete error_report call
 - Simplify O_DIRECT handling
 - Fixup iotests for changed error message text

Daniel P. Berrangé (6):
  util: rename qemu_open() to qemu_open_old()
  util: refactor qemu_open_old to split off variadic args handling
  util: add Error object for qemu_open_internal error reporting
  util: introduce qemu_open and qemu_create with error reporting
  util: give a specific error message when O_DIRECT doesn't work
  block/fileb: switch to use qemu_open/qemu_create for improved errors

 accel/kvm/kvm-all.c            |  2 +-
 backends/rng-random.c          |  2 +-
 backends/tpm/tpm_passthrough.c |  8 ++--
 block/file-posix.c             | 16 +++----
 block/file-win32.c             |  5 +-
 block/vvfat.c                  |  5 +-
 chardev/char-fd.c              |  2 +-
 chardev/char-pipe.c            |  6 +--
 chardev/char.c                 |  2 +-
 dump/dump.c                    |  2 +-
 hw/s390x/s390-skeys.c          |  2 +-
 hw/usb/host-libusb.c           |  2 +-
 hw/vfio/common.c               |  4 +-
 include/qemu/osdep.h           |  8 +++-
 io/channel-file.c              |  2 +-
 net/vhost-vdpa.c               |  2 +-
 os-posix.c                     |  2 +-
 qga/channel-posix.c            |  4 +-
 qga/commands-posix.c           |  6 +--
 target/arm/kvm.c               |  2 +-
 tests/qemu-iotests/051.out     |  4 +-
 tests/qemu-iotests/051.pc.out  |  4 +-
 tests/qemu-iotests/061.out     |  2 +-
 tests/qemu-iotests/069.out     |  2 +-
 tests/qemu-iotests/082.out     |  4 +-
 tests/qemu-iotests/111.out     |  2 +-
 tests/qemu-iotests/226.out     |  6 +--
 tests/qemu-iotests/232.out     | 12 ++---
 tests/qemu-iotests/244.out     |  6 +--
 ui/console.c                   |  2 +-
 util/osdep.c                   | 83 ++++++++++++++++++++++++++++------
 util/oslib-posix.c             |  2 +-
 32 files changed, 136 insertions(+), 77 deletions(-)

-- 
2.26.2