[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v3 07/10] file-posix: Forbid trying to change unsupp
From: |
Alberto Garcia |
Subject: |
[Qemu-devel] [PATCH v3 07/10] file-posix: Forbid trying to change unsupported options during reopen |
Date: |
Thu, 6 Sep 2018 12:37:07 +0300 |
The file-posix code is used for the "file", "host_device" and
"host_cdrom" drivers, and it allows reopening images. However the only
option that is actually processed is "x-check-cache-dropped", and
changes in all other options (e.g. "filename") are silently ignored:
(qemu) qemu-io virtio0 "reopen -o file.filename=no-such-file"
While we could allow changing some of the other options, let's keep
things as they are for now but return an error if the user tries to
change any of them.
Signed-off-by: Alberto Garcia <address@hidden>
Reviewed-by: Max Reitz <address@hidden>
---
block/file-posix.c | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/block/file-posix.c b/block/file-posix.c
index ddac0cc3e6..d4ec2cb3dd 100644
--- a/block/file-posix.c
+++ b/block/file-posix.c
@@ -850,8 +850,13 @@ static int raw_reopen_prepare(BDRVReopenState *state,
goto out;
}
- rs->check_cache_dropped = qemu_opt_get_bool(opts, "x-check-cache-dropped",
- false);
+ rs->check_cache_dropped =
+ qemu_opt_get_bool_del(opts, "x-check-cache-dropped", false);
+
+ /* This driver's reopen function doesn't currently allow changing
+ * other options, so let's put them back in the original QDict and
+ * bdrv_reopen_prepare() will detect changes and complain. */
+ qemu_opts_to_qdict(opts, state->options);
if (s->type == FTYPE_CD) {
rs->open_flags |= O_NONBLOCK;
--
2.11.0
- [Qemu-devel] [PATCH v3 00/10] Misc reopen-related patches, Alberto Garcia, 2018/09/06
- [Qemu-devel] [PATCH v3 04/10] block: Don't look for child references in append_open_options(), Alberto Garcia, 2018/09/06
- [Qemu-devel] [PATCH v3 02/10] file-posix: x-check-cache-dropped should default to false on reopen, Alberto Garcia, 2018/09/06
- [Qemu-devel] [PATCH v3 07/10] file-posix: Forbid trying to change unsupported options during reopen,
Alberto Garcia <=
- [Qemu-devel] [PATCH v3 03/10] block: Remove child references from bs->{options, explicit_options}, Alberto Garcia, 2018/09/06
- [Qemu-devel] [PATCH v3 06/10] block: Forbid trying to change unsupported options during reopen, Alberto Garcia, 2018/09/06
- [Qemu-devel] [PATCH v3 10/10] block: Allow changing 'force-share' on reopen, Alberto Garcia, 2018/09/06
- [Qemu-devel] [PATCH v3 08/10] block: Allow changing 'discard' on reopen, Alberto Garcia, 2018/09/06