
On 2/24/21 7:11 AM, Daniel P. Berrangé wrote:
The 'host_device' and 'host_cdrom' drivers must be used instead.
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> --- block/file-posix.c | 17 ++++++----------- docs/system/deprecated.rst | 7 ------- docs/system/removed-features.rst | 7 +++++++ tests/qemu-iotests/226.out | 10 +++++----- 4 files changed, 18 insertions(+), 23 deletions(-)
if (!device) { - if (S_ISBLK(st.st_mode)) { - warn_report("Opening a block device as a file using the '%s' " - "driver is deprecated", bs->drv->format_name); - } else if (S_ISCHR(st.st_mode)) { - warn_report("Opening a character device as a file using the '%s' " - "driver is deprecated", bs->drv->format_name); - } else if (!S_ISREG(st.st_mode)) { - error_setg(errp, "A regular file was expected by the '%s' driver, " - "but something else was given", bs->drv->format_name); + if (!S_ISREG(st.st_mode)) {
We're testing with S_ISREG()...
+++ b/docs/system/deprecated.rst @@ -21,13 +21,6 @@ deprecated. System emulator command line arguments --------------------------------------
-``-drive file=json:{...{'driver':'file'}}`` (since 3.0) -''''''''''''''''''''''''''''''''''''''''''''''''''''''' - -The 'file' driver for drives is no longer appropriate for character or host -devices and will only accept regular files (S_IFREG). The correct driver
but documented with S_IFREG(). Thankfully, the two have semantically equivalent purposes, so the difference doesn't invalidate the docs. Reviewed-by: Eric Blake <eblake@redhat.com> but I wouldn't mind if at least one other block maintainer chimes in. -- Eric Blake, Principal Software Engineer Red Hat, Inc. +1-919-301-3226 Virtualization: qemu.org | libvirt.org