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 v4: https://lists.gnu.org/archive/html/qemu-devel/2020-08/msg05334.html v5: https://lists.gnu.org/archive/html/qemu-devel/2020-09/msg00947.html
See patch commit messages for rationale Ideally we would convert other callers of qemu_open_old to use qemu_open, and eventually remove qemu_open_old entirely, so every caller gets use of Error **errp. Improved in v6: - Fix errno regression dup'ing FD - Move qapi header to correct patch - Fix whitespace and commit messages - Converted more use of qemu_open to qemu_open_old after rebase Improved in v5: - Drop reporting of flags in failed open call - Split O_CLOEXEC handling off into separate helper - Refactor monitor FD set APIs to simplify their use 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é (8): monitor: simplify functions for getting a dup'd fdset entry util: split off a helper for dealing with O_CLOEXEC flag 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/file: 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/usb/u2f-passthru.c | 4 +- hw/vfio/common.c | 4 +- include/monitor/monitor.h | 3 +- include/qemu/osdep.h | 9 ++- io/channel-file.c | 2 +- monitor/misc.c | 58 ++++++++---------- net/vhost-vdpa.c | 2 +- os-posix.c | 2 +- qga/channel-posix.c | 4 +- qga/commands-posix.c | 6 +- stubs/fdset.c | 8 +-- target/arm/kvm.c | 2 +- ui/console.c | 2 +- util/osdep.c | 104 +++++++++++++++++++++++---------- util/oslib-posix.c | 2 +- 27 files changed, 150 insertions(+), 116 deletions(-) -- 2.26.2