09.07.2021 18:39, Eric Blake wrote:
Enhance the test to demonstrate existing less-than-stellar behavior of
qemu-img with a qcow2 image containing an inconsistent bitmap: we
don't diagnose the problem until after copying the entire image (a
potentially long time), and when we do diagnose the failu
Signed-off-by: Mohit Kapoor
---
diff --git a/Makefile b/Makefile
index 86eb7c6..3ea82dd 100644
--- a/Makefile
+++ b/Makefile
@@ -83,6 +83,13 @@ PLUGIN_OBJS := \
plugins/wdc/wdc-utils.o \
plugins/huawei/huawei-nvme.o \
plugins/netapp/netapp-nvme.o \
+ plugins/mi/util/hal/mi-nvme-hal-
On Fri, Jul 09, 2021 at 06:41:41PM +0200, Kevin Wolf wrote:
> Currently, the block driver whitelists are only applied for the system
> emulator. All other binaries still give unrestricted access to all block
> drivers. There are use cases where this made sense because the main
> concern was avoidin
Currently, the block driver whitelists are only applied for the system
emulator. All other binaries still give unrestricted access to all block
drivers. There are use cases where this made sense because the main
concern was avoiding customers running VMs on less optimised block
drivers and getting
> +int hal_init()
> +{
> +int retval = -1;
> +switch (GetSidebandInterface()) {
> +case qemu_nvme_mi:
> +retval = qemu_mi_init();
> +break;
> +default:
> +break;
> +}
> +return retval;
> +}
> +
> +int hal_open()
> +{
> +int retval = -1;
> +swi
On Fri, Jul 09, 2021 at 07:25:45PM +0530, Padmakar Kalghatgi wrote:
> The following commands are tested with nvme-cli by hooking
> to the cid of the vsock as shown above and use the socket
> send/recieve commands to issue the commands and get the response.
Why sockets? Shouldn't mi targets use smb
Enhance the test to demonstrate existing less-than-stellar behavior of
qemu-img with a qcow2 image containing an inconsistent bitmap: we
don't diagnose the problem until after copying the entire image (a
potentially long time), and when we do diagnose the failure, we still
end up leaving an empty b
Waiting until the end of the convert operation (a potentially
time-consuming task) to finally detect that we can't copy a bitmap is
bad, comparing to failing fast up front. Furthermore, this prevents
us from leaving a file behind with a bitmap that is not marked as
inconsistent even though it does
The point of 'qemu-img convert --bitmaps' is to be a convenience for
actions that are already possible through a string of smaller
'qemu-img bitmap' sub-commands. One situation not accounted for
already is that if a source image contains an inconsistent bitmap (for
example, because a qemu process
In v2:
- patch 1: clean up leftover file [Vladimir]
- patch 2: new, to fix badness with leaving corrupt destination on
failed bitmap copy [Vladimir]
- patch 3: spell new option --skip-broken-bitmaps (note that --skip-broken
as an abbreviation still works) [Vladimir]
Eric Blake (3):
iotests:
On Fri, Jul 09, 2021 at 04:49:01PM +0300, Vladimir Sementsov-Ogievskiy wrote:
> 09.07.2021 16:16, Eric Blake wrote:
> > On Fri, Jul 09, 2021 at 09:33:50AM +0300, Vladimir Sementsov-Ogievskiy
> > wrote:
> > > > +++ b/tests/qemu-iotests/tests/qemu-img-bitmaps
> >
> > > > +echo
> > > > +echo "=== Ch
The recently-added NBD context qemu:allocation-depth is able to
distinguish between locally-present data (even when that data is
sparse) [shown as depth 1 over NBD], and data that could not be found
anywhere in the backing chain [shown as depth 0]; and the libnbd
project was recently patched to giv
Reword the paragraphs to list the JSON key first, rather than in the
middle of prose.
Suggested-by: Vladimir Sementsov-Ogievskiy
Signed-off-by: Eric Blake
Message-Id: <20210707184125.2551140-1-ebl...@redhat.com>
Reviewed-by: Nir Soffer
Reviewed-by: Vladimir Sementsov-Ogievskiy
---
docs/tools/
From: Lukas Straub
Although unlikely, qemu might hang in nbd_send_request().
Allow recovery in this case by registering the yank function before
calling it.
Signed-off-by: Lukas Straub
Message-Id: <20210704000730.1befb...@gecko.fritz.box>
Reviewed-by: Vladimir Sementsov-Ogievskiy
Signed-off-b
Enhance the test to inspect what qemu-nbd is advertising during
handshake, and rename it now that we support useful iotest names.
Signed-off-by: Eric Blake
Reviewed-by: Vladimir Sementsov-Ogievskiy
Message-Id: <20210701190655.2131223-2-ebl...@redhat.com>
---
.../qemu-iotests/{309 => tests/nbd-q
The enclosed patch contains the implementation of certain
commands of nvme-mi specification.The MI commands are useful
to manage/configure/monitor the device.Eventhough the MI commands
can be sent via the inband NVMe-MI send/recieve commands, the idea
here is to emulate the sideband interface for
09.07.2021 16:16, Eric Blake wrote:
On Fri, Jul 09, 2021 at 09:33:50AM +0300, Vladimir Sementsov-Ogievskiy wrote:
+++ b/tests/qemu-iotests/tests/qemu-img-bitmaps
+echo
+echo "=== Check handling of inconsistent bitmap ==="
+echo
+
+$QEMU_IO -c abort "$TEST_IMG" 2>/dev/null
+$QEMU_IMG bitmap --
On Thu, 8 Jul 2021 at 14:11, Stefan Hajnoczi wrote:
>
> The following changes since commit 711c0418c8c1ce3a24346f058b001c4c5a2f0f81:
>
> Merge remote-tracking branch 'remotes/philmd/tags/mips-20210702' into
> staging (2021-07-04 14:04:12 +0100)
>
> are available in the Git repository at:
>
>
On Thu, Jul 08, 2021 at 06:58:21PM +0200, Kevin Wolf wrote:
> Am 08.07.2021 um 17:52 hat Eric Blake geschrieben:
> > When removeing support for qemu-img being able to create backing
removing
(is it bad that I don't catch my own typos until seeing them through
the mailing list?)
> > chains withou
On Fri, Jul 09, 2021 at 09:33:50AM +0300, Vladimir Sementsov-Ogievskiy wrote:
> > +++ b/tests/qemu-iotests/tests/qemu-img-bitmaps
> > +echo
> > +echo "=== Check handling of inconsistent bitmap ==="
> > +echo
> > +
> > +$QEMU_IO -c abort "$TEST_IMG" 2>/dev/null
> > +$QEMU_IMG bitmap --add "$TEST_IM
From: Alberto Garcia
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
Signed-off-by: Kevin Wolf
Reviewed-by: Vladimir Sementsov-Ogievskiy
Me
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 iote
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
From: Eric Blake
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
abil
From: Eric Blake
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
Signed-off-by: Eric Blake
Messa
From: Eric Blake
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
From: Alberto Garcia
This patch drops the 'x-' prefix from x-blockdev-reopen.
Signed-off-by: Alberto Garcia
Signed-off-by: Kevin Wolf
Reviewed-by: Vladimir Sementsov-Ogievskiy
Message-Id: <20210708114709.206487-7-kw...@redhat.com>
Signed-off-by: Kevin Wolf
---
qapi/block-core.json
From: Peter Lieven
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()
From: Vladimir Sementsov-Ogievskiy
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->b
From: Peter Lieven
adding myself as a designated reviewer.
Signed-off-by: Peter Lieven
Message-Id: <20210707180449.32665-2...@kamp.de>
Acked-by: Ilya Dryomov
Signed-off-by: Kevin Wolf
---
MAINTAINERS | 1 +
1 file changed, 1 insertion(+)
diff --git a/MAINTAINERS b/MAINTAINERS
index 86ec36a0
From: Peter Lieven
task->complete is a bool not an integer.
Signed-off-by: Peter Lieven
Message-Id: <20210707180449.32665-1...@kamp.de>
Reviewed-by: Ilya Dryomov
Signed-off-by: Kevin Wolf
---
block/rbd.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/block/rbd.c b/block/
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: c90bd505a3e8210c23d69fe
From: Alberto Garcia
[ kwolf: Fixed AioContext locking ]
Signed-off-by: Alberto Garcia
Signed-off-by: Kevin Wolf
Reviewed-by: Vladimir Sementsov-Ogievskiy
Message-Id: <20210708114709.206487-5-kw...@redhat.com>
Signed-off-by: Kevin Wolf
---
qapi/block-core.json | 18
From: Alberto Garcia
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. ]
Si
From: Peter Lieven
Signed-off-by: Peter Lieven
Reviewed-by: Ilya Dryomov
Message-Id: <20210702172356.11574-5-idryo...@gmail.com>
Signed-off-by: Kevin Wolf
---
block/rbd.c | 252 +++-
1 file changed, 90 insertions(+), 162 deletions(-)
diff --git
From: Peter Lieven
While at it just call rbd_get_size and avoid rbd_image_info_t.
Signed-off-by: Peter Lieven
Reviewed-by: Ilya Dryomov
Message-Id: <20210702172356.11574-4-idryo...@gmail.com>
Signed-off-by: Kevin Wolf
---
block/rbd.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
From: Peter Lieven
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
Reviewed-by: Ily
From: Max Reitz
Signed-off-by: Max Reitz
Message-Id: <20210625142317.271673-7-mre...@redhat.com>
Signed-off-by: Kevin Wolf
---
tests/qemu-iotests/tests/fuse-allow-other | 168 ++
tests/qemu-iotests/tests/fuse-allow-other.out | 88 +
2 files changed, 256 insertions(
From: Max Reitz
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
Message-Id: <20210625142317.271673-6-mre...
From: Max Reitz
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
Reviewed-by: Kevin Wolf
Message-Id: <20210625142317.27
From: Peter Lieven
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
Reviewed-by: Ilya Dryomov
Mes
From: Max Reitz
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-b
From: Max Reitz
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_R
From: Heinrich Schuchardt
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
Message-Id: <20210629063602.4239-1-xypron.g...@gmx.de>
Reviewed-by: Philippe Mathieu-Daudé
Reviewed-by: Ri
From: Max Reitz
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
unco
From: Or Ozeri
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.
From: Peter Lieven
Signed-off-by: Peter Lieven
Reviewed-by: Ilya Dryomov
Message-Id: <20210702172356.11574-3-idryo...@gmail.com>
Signed-off-by: Kevin Wolf
---
block/rbd.c | 18 +++---
1 file changed, 7 insertions(+), 11 deletions(-)
diff --git a/block/rbd.c b/block/rbd.c
index b4
The following changes since commit 9db3065c62a983286d06c207f4981408cf42184d:
Merge remote-tracking branch
'remotes/vivier2/tags/linux-user-for-6.1-pull-request' into staging (2021-07-08
16:30:18 +0100)
are available in the Git repository at:
git://repo.or.cz/qemu/kevin.git tags/for-upstrea
From: Ilya Dryomov
Jason has moved on from working on RBD and Ceph. I'm taking over
his role upstream.
Signed-off-by: Ilya Dryomov
Message-Id: <20210519112513.19694-1-idryo...@gmail.com>
Acked-by: Stefano Garzarella
Signed-off-by: Kevin Wolf
---
MAINTAINERS | 2 +-
1 file changed, 1 inserti
On Fri, 9 Jul 2021 10:11:15 +0300
Vladimir Sementsov-Ogievskiy wrote:
> 07.07.2021 21:15, Lukas Straub wrote:
> > s->active_disk is bs->file. Remove it and use local variables instead.
> >
> > Signed-off-by: Lukas Straub
> > ---
> > block/replication.c | 38 +--
Am 08.07.2021 um 17:52 hat Eric Blake geschrieben:
> 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:
Am 08.07.2021 um 20:23 hat Peter Lieven geschrieben:
> Am 08.07.2021 um 14:18 schrieb Kevin Wolf :
> > Am 07.07.2021 um 20:13 hat Peter Lieven geschrieben:
> >>> Am 06.07.2021 um 17:25 schrieb Kevin Wolf :
> >>> Am 06.07.2021 um 16:55 hat Peter Lieven geschrieben:
> I will have a decent look a
On Jul 9 10:51, Hannes Reinecke wrote:
> On 7/9/21 8:55 AM, Klaus Jensen wrote:
> > On Jul 9 08:16, Hannes Reinecke wrote:
> > > On 7/9/21 8:05 AM, Klaus Jensen wrote:
> > > > On Jul 7 17:49, Klaus Jensen wrote:
> > > > > From: Klaus Jensen
> > > > >
> > > > > Back in May, Hannes posted a fix[
08.07.2021 04:29, Eric Blake wrote:
This is mostly a convenience factor as one could already use 'qemu-img
info' to learn which bitmaps are broken and then 'qemu-img bitmap
--remove' to nuke them before calling 'qemu-img convert --bitmaps',
but it does have the advantage that the copied file is u
On 7/9/21 8:55 AM, Klaus Jensen wrote:
On Jul 9 08:16, Hannes Reinecke wrote:
On 7/9/21 8:05 AM, Klaus Jensen wrote:
On Jul 7 17:49, Klaus Jensen wrote:
From: Klaus Jensen
Back in May, Hannes posted a fix[1] to re-enable NVMe PCI hotplug. We
discussed a bit back and fourth and I mentioned
07.07.2021 21:15, Lukas Straub wrote:
Remove the workaround introduced in commit
6ecbc6c52672db5c13805735ca02784879ce8285
"replication: Avoid blk_make_empty() on read-only child".
It is not needed anymore since s->hidden_disk is guaranteed to be
writable when secondary_do_checkpoint() runs. Beca
07.07.2021 21:15, Lukas Straub wrote:
The replication driver needs access to the children block-nodes of
it's child so it can issue bdrv_make_empty() and bdrv_co_pwritev()
to manage the replication. However, it does this by directly copying
the BdrvChilds, which is wrong.
Fix this by properly at
07.07.2021 21:15, Lukas Straub wrote:
In preparation for the next patch, initialize s->hidden_disk and
s->secondary_disk later and replace access to them with local variables
in the places where they aren't initialized yet.
Signed-off-by: Lukas Straub
Reviewed-by: Vladimir Sementsov-Ogievskiy
07.07.2021 21:15, Lukas Straub wrote:
s->active_disk is bs->file. Remove it and use local variables instead.
Signed-off-by: Lukas Straub
---
block/replication.c | 38 +-
1 file changed, 21 insertions(+), 17 deletions(-)
diff --git a/block/replication.c b/
59 matches
Mail list logo