[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-commits] [qemu/qemu] 072557: MAINTAINERS: update block/rbd.c maint
From: |
Peter Maydell |
Subject: |
[Qemu-commits] [qemu/qemu] 072557: MAINTAINERS: update block/rbd.c maintainer |
Date: |
Sat, 10 Jul 2021 13:27:54 -0700 |
Branch: refs/heads/master
Home: https://github.com/qemu/qemu
Commit: 0725570b2dcaeedff3031fc271b0d731a7382bfd
https://github.com/qemu/qemu/commit/0725570b2dcaeedff3031fc271b0d731a7382bfd
Author: Ilya Dryomov <idryomov@gmail.com>
Date: 2021-07-09 (Fri, 09 Jul 2021)
Changed paths:
M MAINTAINERS
Log Message:
-----------
MAINTAINERS: update block/rbd.c maintainer
Jason has moved on from working on RBD and Ceph. I'm taking over
his role upstream.
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
Message-Id: <20210519112513.19694-1-idryomov@gmail.com>
Acked-by: Stefano Garzarella <sgarzare@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Commit: 42e4ac9ef5a65f1714dd6f332de160eb63e0d6a4
https://github.com/qemu/qemu/commit/42e4ac9ef5a65f1714dd6f332de160eb63e0d6a4
Author: Or Ozeri <oro@il.ibm.com>
Date: 2021-07-09 (Fri, 09 Jul 2021)
Changed paths:
M block/rbd.c
M qapi/block-core.json
Log Message:
-----------
block/rbd: Add support for rbd image encryption
Starting from ceph Pacific, RBD has built-in support for image-level encryption.
Currently supported formats are LUKS version 1 and 2.
There are 2 new relevant librbd APIs for controlling encryption, both expect an
open image context:
rbd_encryption_format: formats an image (i.e. writes the LUKS header)
rbd_encryption_load: loads encryptor/decryptor to the image IO stack
This commit extends the qemu rbd driver API to support the above.
Signed-off-by: Or Ozeri <oro@il.ibm.com>
Message-Id: <20210627114635.39326-1-oro@il.ibm.com>
Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Commit: 48672ac058419a2162ea4579d507278e091c1e3e
https://github.com/qemu/qemu/commit/48672ac058419a2162ea4579d507278e091c1e3e
Author: Peter Lieven <pl@kamp.de>
Date: 2021-07-09 (Fri, 09 Jul 2021)
Changed paths:
M block/rbd.c
M meson.build
Log Message:
-----------
block/rbd: bump librbd requirement to luminous release
Ceph Luminous (version 12.2.z) is almost 4 years old at this point.
Bump the requirement to get rid of the ifdef'ry in the code.
Qemu 6.1 dropped the support for RHEL-7 which was the last supported
OS that required an older librbd.
Signed-off-by: Peter Lieven <pl@kamp.de>
Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
Message-Id: <20210702172356.11574-2-idryomov@gmail.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Commit: 832a93dcb8a870f9debcc2513a040bb3dea858f2
https://github.com/qemu/qemu/commit/832a93dcb8a870f9debcc2513a040bb3dea858f2
Author: Peter Lieven <pl@kamp.de>
Date: 2021-07-09 (Fri, 09 Jul 2021)
Changed paths:
M block/rbd.c
Log Message:
-----------
block/rbd: store object_size in BDRVRBDState
Signed-off-by: Peter Lieven <pl@kamp.de>
Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
Message-Id: <20210702172356.11574-3-idryomov@gmail.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Commit: 6d9214189e22205d42c4ad1fae5af265f0a94dd3
https://github.com/qemu/qemu/commit/6d9214189e22205d42c4ad1fae5af265f0a94dd3
Author: Peter Lieven <pl@kamp.de>
Date: 2021-07-09 (Fri, 09 Jul 2021)
Changed paths:
M block/rbd.c
Log Message:
-----------
block/rbd: update s->image_size in qemu_rbd_getlength
While at it just call rbd_get_size and avoid rbd_image_info_t.
Signed-off-by: Peter Lieven <pl@kamp.de>
Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
Message-Id: <20210702172356.11574-4-idryomov@gmail.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Commit: c3e5fac534c6effc329b962162f79c799398f013
https://github.com/qemu/qemu/commit/c3e5fac534c6effc329b962162f79c799398f013
Author: Peter Lieven <pl@kamp.de>
Date: 2021-07-09 (Fri, 09 Jul 2021)
Changed paths:
M block/rbd.c
Log Message:
-----------
block/rbd: migrate from aio to coroutines
Signed-off-by: Peter Lieven <pl@kamp.de>
Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
Message-Id: <20210702172356.11574-5-idryomov@gmail.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Commit: c56ac27d2ad583aa2db5382bb510a33b638a4ab5
https://github.com/qemu/qemu/commit/c56ac27d2ad583aa2db5382bb510a33b638a4ab5
Author: Peter Lieven <pl@kamp.de>
Date: 2021-07-09 (Fri, 09 Jul 2021)
Changed paths:
M block/rbd.c
Log Message:
-----------
block/rbd: add write zeroes support
This patch wittingly sets BDRV_REQ_NO_FALLBACK and silently ignores
BDRV_REQ_MAY_UNMAP for older librbd versions.
The rationale for this is as follows (citing Ilya Dryomov current RBD
maintainer):
---8<---
a) remove the BDRV_REQ_MAY_UNMAP check in qemu_rbd_co_pwrite_zeroes()
and as a consequence always unmap if librbd is too old
It's not clear what qemu's expectation is but in general Write
Zeroes is allowed to unmap. The only guarantee is that subsequent
reads return zeroes, everything else is a hint. This is how it is
specified in the kernel and in the NVMe spec.
In particular, block/nvme.c implements it as follows:
if (flags & BDRV_REQ_MAY_UNMAP) {
cdw12 |= (1 << 25);
}
This sets the Deallocate bit. But if it's not set, the device may
still deallocate:
"""
If the Deallocate bit (CDW12.DEAC) is set to '1' in a Write Zeroes
command, and the namespace supports clearing all bytes to 0h in the
values read (e.g., bits 2:0 in the DLFEAT field are set to 001b)
from a deallocated logical block and its metadata (excluding
protection information), then for each specified logical block, the
controller:
- should deallocate that logical block;
...
If the Deallocate bit is cleared to '0' in a Write Zeroes command,
and the namespace supports clearing all bytes to 0h in the values
read (e.g., bits 2:0 in the DLFEAT field are set to 001b) from
a deallocated logical block and its metadata (excluding protection
information), then, for each specified logical block, the
controller:
- may deallocate that logical block;
"""
https://nvmexpress.org/wp-content/uploads/NVM-Express-NVM-Command-Set-Specification-2021.06.02-Ratified-1.pdf
b) set BDRV_REQ_NO_FALLBACK in supported_zero_flags
Again, it's not clear what qemu expects here, but without it we end
up in a ridiculous situation where specifying the "don't allow slow
fallback" switch immediately fails all efficient zeroing requests on
a device where Write Zeroes is always efficient:
$ qemu-io -c 'help write' | grep -- '-[zun]'
-n, -- with -z, don't allow slow fallback
-u, -- with -z, allow unmapping
-z, -- write zeroes using blk_co_pwrite_zeroes
$ qemu-io -f rbd -c 'write -z -u -n 0 1M' rbd:foo/bar
write failed: Operation not supported
--->8---
Signed-off-by: Peter Lieven <pl@kamp.de>
Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
Message-Id: <20210702172356.11574-6-idryomov@gmail.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Commit: eb06cbab7e92caf15033c91dfcacd2ba5d7bc88a
https://github.com/qemu/qemu/commit/eb06cbab7e92caf15033c91dfcacd2ba5d7bc88a
Author: Peter Lieven <pl@kamp.de>
Date: 2021-07-09 (Fri, 09 Jul 2021)
Changed paths:
M block/rbd.c
Log Message:
-----------
block/rbd: drop qemu_rbd_refresh_limits
librbd supports 1 byte alignment for all aio operations.
Currently, there is no API call to query limits from the Ceph
ObjectStore backend. So drop the bdrv_refresh_limits completely
until there is such an API call.
Signed-off-by: Peter Lieven <pl@kamp.de>
Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
Message-Id: <20210702172356.11574-7-idryomov@gmail.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Commit: c2615bdfbd6d5a1a48438102f8ab328fe30b8e27
https://github.com/qemu/qemu/commit/c2615bdfbd6d5a1a48438102f8ab328fe30b8e27
Author: Heinrich Schuchardt <xypron.glpk@gmx.de>
Date: 2021-07-09 (Fri, 09 Jul 2021)
Changed paths:
M block/nfs.c
M block/ssh.c
M util/uri.c
Log Message:
-----------
util/uri: do not check argument of uri_free()
uri_free() checks if its argument is NULL in uri_clean() and g_free().
There is no need to check the argument before the call.
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Message-Id: <20210629063602.4239-1-xypron.glpk@gmx.de>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Richard W.M. Jones <rjones@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Commit: 2c7dd057aa7bd7a875e9b1a53975c220d6380bc4
https://github.com/qemu/qemu/commit/2c7dd057aa7bd7a875e9b1a53975c220d6380bc4
Author: Max Reitz <mreitz@redhat.com>
Date: 2021-07-09 (Fri, 09 Jul 2021)
Changed paths:
M block/export/fuse.c
M tests/qemu-iotests/308
M tests/qemu-iotests/308.out
Log Message:
-----------
export/fuse: Pass default_permissions for mount
We do not do any permission checks in fuse_open(), so let the kernel do
them. We already let fuse_getattr() report the proper UNIX permissions,
so this should work the way we want.
This causes a change in 308's reference output, because now opening a
non-writable export with O_RDWR fails already, instead of only actually
attempting to write to it. (That is an improvement.)
Signed-off-by: Max Reitz <mreitz@redhat.com>
Message-Id: <20210625142317.271673-2-mreitz@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Commit: 8fc54f9428b9763f8003bd5f5dd440946210fc80
https://github.com/qemu/qemu/commit/8fc54f9428b9763f8003bd5f5dd440946210fc80
Author: Max Reitz <mreitz@redhat.com>
Date: 2021-07-09 (Fri, 09 Jul 2021)
Changed paths:
M block/export/fuse.c
M qapi/block-export.json
M tests/qemu-iotests/308
M tests/qemu-iotests/common.rc
Log Message:
-----------
export/fuse: Add allow-other option
Without the allow_other mount option, no user (not even root) but the
one who started qemu/the storage daemon can access the export. Allow
users to configure the export such that such accesses are possible.
While allow_other is probably what users want, we cannot make it an
unconditional default, because passing it is only possible (for non-root
users) if the global fuse.conf configuration file allows it. Thus, the
default is an 'auto' mode, in which we first try with allow_other, and
then fall back to without.
FuseExport.allow_other reports whether allow_other was actually used as
a mount option or not. Currently, this information is not used, but a
future patch will let this field decide whether e.g. an export's UID and
GID can be changed through chmod.
One notable thing about 'auto' mode is that libfuse may print error
messages directly to stderr, and so may fusermount (which it executes).
Our export code cannot really filter or hide them. Therefore, if 'auto'
fails its first attempt and has to fall back, fusermount will print an
error message that mounting with allow_other failed.
This behavior necessitates a change to iotest 308, namely we need to
filter out this error message (because if the first attempt at mounting
with allow_other succeeds, there will be no such message).
Furthermore, common.rc's _make_test_img should use allow-other=off for
FUSE exports, because iotests generally do not need to access images
from other users, so allow-other=on or allow-other=auto have no
advantage. OTOH, allow-other=on will not work on systems where
user_allow_other is disabled, and with allow-other=auto, we get said
error message that we would need to filter out again. Just disabling
allow-other is simplest.
Signed-off-by: Max Reitz <mreitz@redhat.com>
Message-Id: <20210625142317.271673-3-mreitz@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Commit: 9bad96a8cc669a3b399b9d739b505fdc592acaa4
https://github.com/qemu/qemu/commit/9bad96a8cc669a3b399b9d739b505fdc592acaa4
Author: Max Reitz <mreitz@redhat.com>
Date: 2021-07-09 (Fri, 09 Jul 2021)
Changed paths:
M block/export/fuse.c
Log Message:
-----------
export/fuse: Give SET_ATTR_SIZE its own branch
In order to support changing other attributes than the file size in
fuse_setattr(), we have to give each its own independent branch. This
also applies to the only attribute we do support right now.
Signed-off-by: Max Reitz <mreitz@redhat.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Message-Id: <20210625142317.271673-4-mreitz@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Commit: 6aeeaed29ced7ef03e4211193f7e3f537eace871
https://github.com/qemu/qemu/commit/6aeeaed29ced7ef03e4211193f7e3f537eace871
Author: Max Reitz <mreitz@redhat.com>
Date: 2021-07-09 (Fri, 09 Jul 2021)
Changed paths:
M block/export/fuse.c
Log Message:
-----------
export/fuse: Let permissions be adjustable
Allow changing the file mode, UID, and GID through SETATTR.
Without allow_other, UID and GID are not allowed to be changed, because
it would not make sense. Also, changing group or others' permissions
is not allowed either.
For read-only exports, +w cannot be set.
Signed-off-by: Max Reitz <mreitz@redhat.com>
Message-Id: <20210625142317.271673-5-mreitz@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Commit: f29add26d412311926e8095952316d360bd51cbf
https://github.com/qemu/qemu/commit/f29add26d412311926e8095952316d360bd51cbf
Author: Max Reitz <mreitz@redhat.com>
Date: 2021-07-09 (Fri, 09 Jul 2021)
Changed paths:
M tests/qemu-iotests/308
M tests/qemu-iotests/308.out
Log Message:
-----------
iotests/308: Test +w on read-only FUSE exports
Test that +w on read-only FUSE exports returns an EROFS error. u+x on
the other hand should work. (There is no special reason to choose u+x
here, it simply is like +w another flag that is not set by default.)
Signed-off-by: Max Reitz <mreitz@redhat.com>
Message-Id: <20210625142317.271673-6-mreitz@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Commit: d9f008e6235b50bc81d3c2c80eaec3065b7f04c6
https://github.com/qemu/qemu/commit/d9f008e6235b50bc81d3c2c80eaec3065b7f04c6
Author: Max Reitz <mreitz@redhat.com>
Date: 2021-07-09 (Fri, 09 Jul 2021)
Changed paths:
A tests/qemu-iotests/tests/fuse-allow-other
A tests/qemu-iotests/tests/fuse-allow-other.out
Log Message:
-----------
iotests/fuse-allow-other: Test allow-other
Signed-off-by: Max Reitz <mreitz@redhat.com>
Message-Id: <20210625142317.271673-7-mreitz@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Commit: 64cc845bdb0908df247757ea864c1c72bf82b30c
https://github.com/qemu/qemu/commit/64cc845bdb0908df247757ea864c1c72bf82b30c
Author: Peter Lieven <pl@kamp.de>
Date: 2021-07-09 (Fri, 09 Jul 2021)
Changed paths:
M block/rbd.c
Log Message:
-----------
block/rbd: fix type of task->complete
task->complete is a bool not an integer.
Signed-off-by: Peter Lieven <pl@kamp.de>
Message-Id: <20210707180449.32665-1-pl@kamp.de>
Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Commit: 6d2f38eb0e2be86af6904f1b768575cc64be37c2
https://github.com/qemu/qemu/commit/6d2f38eb0e2be86af6904f1b768575cc64be37c2
Author: Peter Lieven <pl@kamp.de>
Date: 2021-07-09 (Fri, 09 Jul 2021)
Changed paths:
M MAINTAINERS
Log Message:
-----------
MAINTAINERS: add block/rbd.c reviewer
adding myself as a designated reviewer.
Signed-off-by: Peter Lieven <pl@kamp.de>
Message-Id: <20210707180449.32665-2-pl@kamp.de>
Acked-by: Ilya Dryomov <idryomov@gmail.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Commit: 84affad1fd4c5251d7cccf4df43b29e9157983a9
https://github.com/qemu/qemu/commit/84affad1fd4c5251d7cccf4df43b29e9157983a9
Author: Kevin Wolf <kwolf@redhat.com>
Date: 2021-07-09 (Fri, 09 Jul 2021)
Changed paths:
M hw/virtio/vhost-user.c
Log Message:
-----------
vhost-user: Fix backends without multiqueue support
dev->max_queues was never initialised for backends that don't support
VHOST_USER_PROTOCOL_F_MQ, so it would use 0 as the maximum number of
queues to check against and consequently fail for any such backend.
Set it to 1 if the backend doesn't have multiqueue support.
Fixes: c90bd505a3e8210c23d69fecab9ee6f56ec4a161
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Message-Id: <20210705171429.29286-1-kwolf@redhat.com>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Reviewed-by: Raphael Norwitz <raphael.norwitz@nutanix.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Commit: 2842ff2d81ddd86b1d0dd3b98c46b72bfa5cb4cb
https://github.com/qemu/qemu/commit/2842ff2d81ddd86b1d0dd3b98c46b72bfa5cb4cb
Author: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Date: 2021-07-09 (Fri, 09 Jul 2021)
Changed paths:
M blockdev.c
Log Message:
-----------
blockdev: fix drive-backup transaction endless drained section
drive_backup_prepare() does bdrv_drained_begin() in hope that
bdrv_drained_end() will be called in drive_backup_clean(). Still we
need to set state->bs for this to work. That's done too late: a lot of
failure paths in drive_backup_prepare() miss setting state->bs. Fix
that.
Fixes: 2288ccfac96281c316db942d10e3f921c1373064
Fixes: https://gitlab.com/qemu-project/qemu/-/issues/399
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Message-Id: <20210608171852.250775-1-vsementsov@virtuozzo.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Commit: 5a385bf5c5cb3069fab17c014cf4b4f629509f1e
https://github.com/qemu/qemu/commit/5a385bf5c5cb3069fab17c014cf4b4f629509f1e
Author: Eric Blake <eblake@redhat.com>
Date: 2021-07-09 (Fri, 09 Jul 2021)
Changed paths:
M block/qcow2.c
M docs/system/deprecated.rst
M docs/system/removed-features.rst
M tests/qemu-iotests/061
M tests/qemu-iotests/061.out
M tests/qemu-iotests/082.out
Log Message:
-----------
qcow2: Prohibit backing file changes in 'qemu-img amend'
This was deprecated back in bc5ee6da7 (qcow2: Deprecate use of
qemu-img amend to change backing file), and no one in the meantime has
given any reasons why it should be supported. Time to make change
attempts a hard error (but for convenience, specifying the _same_
backing chain is not forbidden). Update a couple of iotests to match.
Signed-off-by: Eric Blake <eblake@redhat.com>
Message-Id: <20210503213600.569128-2-eblake@redhat.com>
Reviewed-by: Connor Kuehl <ckuehl@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Commit: 497a30dbb065937d67f6c43af6dd78492e1d6f6d
https://github.com/qemu/qemu/commit/497a30dbb065937d67f6c43af6dd78492e1d6f6d
Author: Eric Blake <eblake@redhat.com>
Date: 2021-07-09 (Fri, 09 Jul 2021)
Changed paths:
M block.c
M docs/system/deprecated.rst
M docs/system/removed-features.rst
M qemu-img.c
M tests/qemu-iotests/040
M tests/qemu-iotests/041
M tests/qemu-iotests/114
M tests/qemu-iotests/114.out
M tests/qemu-iotests/301
M tests/qemu-iotests/301.out
Log Message:
-----------
qemu-img: Require -F with -b backing image
Back in commit d9f059aa6c (qemu-img: Deprecate use of -b without -F),
we deprecated the ability to create a file with a backing image that
requires qemu to perform format probing. Qemu can still probe older
files for backwards compatibility, but it is time to finish off the
ability to create such images, due to the potential security risk they
present. Update a couple of iotests affected by the change.
Signed-off-by: Eric Blake <eblake@redhat.com>
Message-Id: <20210503213600.569128-3-eblake@redhat.com>
Reviewed-by: Connor Kuehl <ckuehl@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Commit: a7cd44bef3d9380181734a93977c3d1df3eef2cf
https://github.com/qemu/qemu/commit/a7cd44bef3d9380181734a93977c3d1df3eef2cf
Author: Eric Blake <eblake@redhat.com>
Date: 2021-07-09 (Fri, 09 Jul 2021)
Changed paths:
M qemu-img.c
M tests/qemu-iotests/114.out
Log Message:
-----------
qemu-img: Improve error for rebase without backing format
When removeing support for qemu-img being able to create backing
chains without embedded backing formats, we caused a poor error
message as caught by iotest 114. Improve the situation to inform the
user what went wrong.
Suggested-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Eric Blake <eblake@redhat.com>
Message-Id: <20210708155228.2666172-1-eblake@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Commit: bcfd86d6a6432be75fd8700c7c1aabb243adf469
https://github.com/qemu/qemu/commit/bcfd86d6a6432be75fd8700c7c1aabb243adf469
Author: Kevin Wolf <kwolf@redhat.com>
Date: 2021-07-09 (Fri, 09 Jul 2021)
Changed paths:
M block/qcow2.c
Log Message:
-----------
qcow2: Fix dangling pointer after reopen for 'file'
Without an external data file, s->data_file is a second pointer with the
same value as bs->file. When changing bs->file to a different BdrvChild
and freeing the old BdrvChild, s->data_file must also be updated,
otherwise it points to freed memory and causes crashes.
This problem was caught by iotests case 245.
Fixes: df2b7086f169239ebad5d150efa29c9bb6d4f820
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Message-Id: <20210708114709.206487-2-kwolf@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Commit: ab5b522879e2a7880418cbd29340675e5427572f
https://github.com/qemu/qemu/commit/ab5b522879e2a7880418cbd29340675e5427572f
Author: Alberto Garcia <berto@igalia.com>
Date: 2021-07-09 (Fri, 09 Jul 2021)
Changed paths:
M block.c
M include/block/block.h
Log Message:
-----------
block: Add bdrv_reopen_queue_free()
Move the code to free a BlockReopenQueue to a separate function.
It will be used in a subsequent patch.
[ kwolf: Also free explicit_options and options, and explicitly
qobject_ref() the value when it continues to be used. This makes
future memory leaks less likely. ]
Signed-off-by: Alberto Garcia <berto@igalia.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Message-Id: <20210708114709.206487-3-kwolf@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Commit: 6cf42ca2f9782f0335abf3e6b611fbced40cd099
https://github.com/qemu/qemu/commit/6cf42ca2f9782f0335abf3e6b611fbced40cd099
Author: Kevin Wolf <kwolf@redhat.com>
Date: 2021-07-09 (Fri, 09 Jul 2021)
Changed paths:
M block.c
M block/replication.c
M blockdev.c
M include/block/block.h
M qemu-io-cmds.c
Log Message:
-----------
block: Acquire AioContexts during bdrv_reopen_multiple()
As the BlockReopenQueue can contain nodes in multiple AioContexts, only
one of which may be locked when AIO_WAIT_WHILE() can be called, we can't
let the caller lock the right contexts. Instead, individually lock the
AioContext of a single node when iterating the queue.
Reintroduce bdrv_reopen() as a wrapper for reopening a single node that
drains the node and temporarily drops the AioContext lock for
bdrv_reopen_multiple().
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Message-Id: <20210708114709.206487-4-kwolf@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Commit: 3908b7a8994fa5ef7a89aa58cd5a02fc58141592
https://github.com/qemu/qemu/commit/3908b7a8994fa5ef7a89aa58cd5a02fc58141592
Author: Alberto Garcia <berto@igalia.com>
Date: 2021-07-09 (Fri, 09 Jul 2021)
Changed paths:
M blockdev.c
M qapi/block-core.json
M tests/qemu-iotests/155
M tests/qemu-iotests/165
M tests/qemu-iotests/245
M tests/qemu-iotests/248
M tests/qemu-iotests/248.out
M tests/qemu-iotests/296
M tests/qemu-iotests/298
M tests/qemu-iotests/tests/remove-bitmap-from-backing
Log Message:
-----------
block: Support multiple reopening with x-blockdev-reopen
[ kwolf: Fixed AioContext locking ]
Signed-off-by: Alberto Garcia <berto@igalia.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Message-Id: <20210708114709.206487-5-kwolf@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Commit: 246ebc2d6a3adb8eb7514155daa7e6369ae8d654
https://github.com/qemu/qemu/commit/246ebc2d6a3adb8eb7514155daa7e6369ae8d654
Author: Alberto Garcia <berto@igalia.com>
Date: 2021-07-09 (Fri, 09 Jul 2021)
Changed paths:
M tests/qemu-iotests/245
M tests/qemu-iotests/245.out
Log Message:
-----------
iotests: Test reopening multiple devices at the same time
This test swaps the images used by two active block devices.
This is now possible thanks to the new ability to run
x-blockdev-reopen on multiple devices at the same time.
Signed-off-by: Alberto Garcia <berto@igalia.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Message-Id: <20210708114709.206487-6-kwolf@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Commit: e60edf69e2f64e818466019313517a2e6d6b63f4
https://github.com/qemu/qemu/commit/e60edf69e2f64e818466019313517a2e6d6b63f4
Author: Alberto Garcia <berto@igalia.com>
Date: 2021-07-09 (Fri, 09 Jul 2021)
Changed paths:
M blockdev.c
M qapi/block-core.json
M tests/qemu-iotests/155
M tests/qemu-iotests/165
M tests/qemu-iotests/245
M tests/qemu-iotests/248
M tests/qemu-iotests/248.out
M tests/qemu-iotests/296
M tests/qemu-iotests/298
M tests/qemu-iotests/tests/remove-bitmap-from-backing
Log Message:
-----------
block: Make blockdev-reopen stable API
This patch drops the 'x-' prefix from x-blockdev-reopen.
Signed-off-by: Alberto Garcia <berto@igalia.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Message-Id: <20210708114709.206487-7-kwolf@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Commit: 42e1d798a6a01817bdcf722ac27eea01531e21cd
https://github.com/qemu/qemu/commit/42e1d798a6a01817bdcf722ac27eea01531e21cd
Author: Peter Maydell <peter.maydell@linaro.org>
Date: 2021-07-10 (Sat, 10 Jul 2021)
Changed paths:
M MAINTAINERS
M block.c
M block/export/fuse.c
M block/nfs.c
M block/qcow2.c
M block/rbd.c
M block/replication.c
M block/ssh.c
M blockdev.c
M docs/system/deprecated.rst
M docs/system/removed-features.rst
M hw/virtio/vhost-user.c
M include/block/block.h
M meson.build
M qapi/block-core.json
M qapi/block-export.json
M qemu-img.c
M qemu-io-cmds.c
M tests/qemu-iotests/040
M tests/qemu-iotests/041
M tests/qemu-iotests/061
M tests/qemu-iotests/061.out
M tests/qemu-iotests/082.out
M tests/qemu-iotests/114
M tests/qemu-iotests/114.out
M tests/qemu-iotests/155
M tests/qemu-iotests/165
M tests/qemu-iotests/245
M tests/qemu-iotests/245.out
M tests/qemu-iotests/248
M tests/qemu-iotests/248.out
M tests/qemu-iotests/296
M tests/qemu-iotests/298
M tests/qemu-iotests/301
M tests/qemu-iotests/301.out
M tests/qemu-iotests/308
M tests/qemu-iotests/308.out
M tests/qemu-iotests/common.rc
A tests/qemu-iotests/tests/fuse-allow-other
A tests/qemu-iotests/tests/fuse-allow-other.out
M tests/qemu-iotests/tests/remove-bitmap-from-backing
M util/uri.c
Log Message:
-----------
Merge remote-tracking branch 'remotes/kevin/tags/for-upstream' into staging
Block layer patches
- Make blockdev-reopen stable
- Remove deprecated qemu-img backing file without format
- rbd: Convert to coroutines and add write zeroes support
- rbd: Updated MAINTAINERS
- export/fuse: Allow other users access to the export
- vhost-user: Fix backends without multiqueue support
- Fix drive-backup transaction endless drained section
# gpg: Signature made Fri 09 Jul 2021 13:49:22 BST
# gpg: using RSA key DC3DEB159A9AF95D3D7456FE7F09B272C88F2FD6
# gpg: issuer "kwolf@redhat.com"
# gpg: Good signature from "Kevin Wolf <kwolf@redhat.com>" [full]
# Primary key fingerprint: DC3D EB15 9A9A F95D 3D74 56FE 7F09 B272 C88F 2FD6
* remotes/kevin/tags/for-upstream: (28 commits)
block: Make blockdev-reopen stable API
iotests: Test reopening multiple devices at the same time
block: Support multiple reopening with x-blockdev-reopen
block: Acquire AioContexts during bdrv_reopen_multiple()
block: Add bdrv_reopen_queue_free()
qcow2: Fix dangling pointer after reopen for 'file'
qemu-img: Improve error for rebase without backing format
qemu-img: Require -F with -b backing image
qcow2: Prohibit backing file changes in 'qemu-img amend'
blockdev: fix drive-backup transaction endless drained section
vhost-user: Fix backends without multiqueue support
MAINTAINERS: add block/rbd.c reviewer
block/rbd: fix type of task->complete
iotests/fuse-allow-other: Test allow-other
iotests/308: Test +w on read-only FUSE exports
export/fuse: Let permissions be adjustable
export/fuse: Give SET_ATTR_SIZE its own branch
export/fuse: Add allow-other option
export/fuse: Pass default_permissions for mount
util/uri: do not check argument of uri_free()
...
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Compare: https://github.com/qemu/qemu/compare/fc32b91a88cc...42e1d798a6a0