[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 0/8] file-posix: Make auto-read-only dynamic
From: |
Kevin Wolf |
Subject: |
[Qemu-devel] [PATCH 0/8] file-posix: Make auto-read-only dynamic |
Date: |
Fri, 8 Mar 2019 16:37:49 +0100 |
We introduced the auto-read-only option to fix the problem that block
jobs that reopen a backing file read-write don't work any more when all
nodes are created individually with -blockdev. The reason is that
bs->file of these backing files doesn't inherit the read-only option
from the format layer node any more if it's created separately.
The way auto-read-only was designed to fix this is that it just always
opens the file node read-write if it can, so reopening the format layer
node is enough to make the backing file writable when necessary.
This works in principle, but not when libvirt uses sVirt: Then QEMU
doesn't even have the permissions to open the image file read-write
until libvirt performs an operation where write access is needed.
This series changes auto-read-only so that it works dynamically and
automatically reopens the file read-only or read-write depending on the
permissions that users attached to the node requested.
See also: https://bugzilla.redhat.com/show_bug.cgi?id=1685989
Kevin Wolf (8):
tests/virtio-blk-test: Disable auto-read-only
block: Avoid useless local_err
block: Make permission changes in reopen less wrong
file-posix: Factor out raw_reconfigure_getfd()
file-posix: Store BDRVRawState.reopen_state during reopen
file-posix: Lock new fd in raw_reopen_prepare()
file-posix: Prepare permission code for fd switching
file-posix: Make auto-read-only dynamic
block.c | 39 +++---
block/file-posix.c | 243 ++++++++++++++++++++++++++-----------
tests/virtio-blk-test.c | 2 +-
tests/qemu-iotests/232.out | 12 +-
4 files changed, 203 insertions(+), 93 deletions(-)
--
2.20.1
- [Qemu-devel] [PATCH 0/8] file-posix: Make auto-read-only dynamic,
Kevin Wolf <=
- [Qemu-devel] [PATCH 2/8] block: Avoid useless local_err, Kevin Wolf, 2019/03/08
- [Qemu-devel] [PATCH 1/8] tests/virtio-blk-test: Disable auto-read-only, Kevin Wolf, 2019/03/08
- [Qemu-devel] [PATCH 3/8] block: Make permission changes in reopen less wrong, Kevin Wolf, 2019/03/08
- [Qemu-devel] [PATCH 4/8] file-posix: Factor out raw_reconfigure_getfd(), Kevin Wolf, 2019/03/08
- [Qemu-devel] [PATCH 6/8] file-posix: Lock new fd in raw_reopen_prepare(), Kevin Wolf, 2019/03/08
- [Qemu-devel] [PATCH 5/8] file-posix: Store BDRVRawState.reopen_state during reopen, Kevin Wolf, 2019/03/08
- [Qemu-devel] [PATCH 7/8] file-posix: Prepare permission code for fd switching, Kevin Wolf, 2019/03/08
- [Qemu-devel] [PATCH 8/8] file-posix: Make auto-read-only dynamic, Kevin Wolf, 2019/03/08