[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 14/14] block: remove support for using "file" driver with block/c
From: |
Daniel P . Berrangé |
Subject: |
[PATCH 14/14] block: remove support for using "file" driver with block/char devices |
Date: |
Wed, 24 Feb 2021 13:11:42 +0000 |
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(-)
diff --git a/block/file-posix.c b/block/file-posix.c
index 05079b40ca..20e14f8e96 100644
--- a/block/file-posix.c
+++ b/block/file-posix.c
@@ -719,15 +719,9 @@ static int raw_open_common(BlockDriverState *bs, QDict
*options,
}
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)) {
+ error_setg(errp, "'%s' driver requires '%s' to be a regular file",
+ bs->drv->format_name, bs->filename);
ret = -EINVAL;
goto fail;
} else {
@@ -736,8 +730,9 @@ static int raw_open_common(BlockDriverState *bs, QDict
*options,
}
} else {
if (!(S_ISCHR(st.st_mode) || S_ISBLK(st.st_mode))) {
- error_setg(errp, "'%s' driver expects either "
- "a character or block device", bs->drv->format_name);
+ error_setg(errp, "'%s' driver requires '%s' to be either "
+ "a character or block device",
+ bs->drv->format_name, bs->filename);
ret = -EINVAL;
goto fail;
}
diff --git a/docs/system/deprecated.rst b/docs/system/deprecated.rst
index dc76584e02..3a86deb450 100644
--- a/docs/system/deprecated.rst
+++ 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
-for these file types is 'host_cdrom' or 'host_device' as appropriate.
-
``QEMU_AUDIO_`` environment variables and ``-audio-help`` (since 4.0)
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
diff --git a/docs/system/removed-features.rst b/docs/system/removed-features.rst
index 990bf7e015..1c9e384cb0 100644
--- a/docs/system/removed-features.rst
+++ b/docs/system/removed-features.rst
@@ -59,6 +59,13 @@ would automatically enable USB support on the machine type.
When using the new syntax, USB support must be explicitly
enabled via the ``-machine usb=on`` argument.
+``-drive file=json:{...{'driver':'file'}}`` (removed 6.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
+for these file types is 'host_cdrom' or 'host_device' as appropriate.
+
QEMU Machine Protocol (QMP) commands
------------------------------------
diff --git a/tests/qemu-iotests/226.out b/tests/qemu-iotests/226.out
index 42be973ff2..55504d29c4 100644
--- a/tests/qemu-iotests/226.out
+++ b/tests/qemu-iotests/226.out
@@ -3,23 +3,23 @@ QA output created by 226
=== Testing with driver:file ===
== Testing RO ==
-qemu-io: can't open: A regular file was expected by the 'file' driver, but
something else was given
-qemu-io: warning: Opening a character device as a file using the 'file' driver
is deprecated
+qemu-io: can't open: 'file' driver requires 'TEST_DIR/t.IMGFMT' to be a
regular file
+qemu-io: can't open: 'file' driver requires '/dev/null' to be a regular file
== Testing RW ==
qemu-io: can't open: Could not open 'TEST_DIR/t.IMGFMT': Is a directory
-qemu-io: warning: Opening a character device as a file using the 'file' driver
is deprecated
+qemu-io: can't open: 'file' driver requires '/dev/null' to be a regular file
=== Testing with driver:host_device ===
== Testing RO ==
-qemu-io: can't open: 'host_device' driver expects either a character or block
device
+qemu-io: can't open: 'host_device' driver requires 'TEST_DIR/t.IMGFMT' to be
either a character or block device
== Testing RW ==
qemu-io: can't open: Could not open 'TEST_DIR/t.IMGFMT': Is a directory
=== Testing with driver:host_cdrom ===
== Testing RO ==
-qemu-io: can't open: 'host_cdrom' driver expects either a character or block
device
+qemu-io: can't open: 'host_cdrom' driver requires 'TEST_DIR/t.IMGFMT' to be
either a character or block device
== Testing RW ==
qemu-io: can't open: Could not open 'TEST_DIR/t.IMGFMT': Is a directory
--
2.29.2
- [PATCH 09/14] hw/ide: remove 'ide-drive' device, (continued)
- [PATCH 09/14] hw/ide: remove 'ide-drive' device, Daniel P . Berrangé, 2021/02/24
- [PATCH 10/14] hw/scsi: remove 'scsi-disk' device, Daniel P . Berrangé, 2021/02/24
- [PATCH 11/14] block: remove 'encryption_key_missing' flag from QAPI, Daniel P . Berrangé, 2021/02/24
- [PATCH 12/14] block: remove dirty bitmaps 'status' field, Daniel P . Berrangé, 2021/02/24
- [PATCH 13/14] block: remove 'dirty-bitmaps' field from 'BlockInfo' struct, Daniel P . Berrangé, 2021/02/24
- [PATCH 14/14] block: remove support for using "file" driver with block/char devices,
Daniel P . Berrangé <=
- Re: [PATCH 00/14] deprecations: remove many old deprecations, Paolo Bonzini, 2021/02/24
- Re: [PATCH 00/14] deprecations: remove many old deprecations, Peter Maydell, 2021/02/24
- Re: [PATCH 00/14] deprecations: remove many old deprecations, Jim Fehlig, 2021/02/25