13.08.2019 23:47, Max Reitz wrote:
> On 30.07.19 16:18, Vladimir Sementsov-Ogievskiy wrote:
>> Common interface for aio task loops. To be used for improving
>> performance of synchronous io loops in qcow2, block-stream,
>> copy-on-read, and may be other places.
>>
>> Signed-off-by: Vladimir
13 авг. 2019 г. 19:32 пользователь Vladimir Sementsov-Ogievskiy
написал:
13.08.2019 19:08, Kevin Wolf wrote:
> Am 13.08.2019 um 17:54 hat Vladimir Sementsov-Ogievskiy geschrieben:
>> 13.08.2019 18:41, Kevin Wolf wrote:
>>> Am 13.08.2019 um 16:43 hat Max Reitz geschrieben:
On 13.08.19
The series seems fine, so:
Acked-by: Richard W.M. Jones
If it was me I'd be inclined to file a bug against Ubuntu and get them
to fix their broken package instead :-)
Rich.
--
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and
On Wednesday, 14 August 2019 14:15:24 CEST Philippe Mathieu-Daudé wrote:
> The libssh pkg-config is not complete, the libraries required to
> link with libssh are not returned. For example on Ubuntu 18.04:
>
> $ dpkg -l|fgrep libssh
> ii libssh-4:arm64 0.8.0~20170825.94fa1e38-1ubuntu0.2 arm64
Since a long time occured between libssh 0.7 and libssh 0.8,
distributions went cherry-picking improvments from the trunk
branch into their 0.7 branch, leading to packages versioned
as 0.7 but having 0.8 features.
This series fixes the oddest combination found so far, packaged
with Ubuntu 18.04.
The libssh pkg-config is not complete, the libraries required to
link with libssh are not returned. For example on Ubuntu 18.04:
$ dpkg -l|fgrep libssh
ii libssh-4:arm64 0.8.0~20170825.94fa1e38-1ubuntu0.2 arm64 tiny C SSH library
(OpenSSL flavor)
ii libssh-dev
To figure out which libssh version is installed, checking for
ssh_get_server_publickey() is not sufficient.
ssh_get_server_publickey() has been introduced in libssh
commit bbd052202 (predating 0.8) but distributions also
backported other pre-0.8 patches, such libssh commit
963c46e4f which
The libssh packaged by a distribution can predate version 0.8,
but still provides the newer API introduced after version 0.7.
Using the deprecated API leads to build failure, as on Ubuntu 18.04:
CC block/ssh.o
block/ssh.c: In function 'check_host_key_hash':
block/ssh.c:444:5: error:
Log wether the version is 0.7 or 0.8 to better understand
user reports.
Signed-off-by: Philippe Mathieu-Daudé
---
configure | 6 +-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/configure b/configure
index 040aa8eb6c..d06cee0ba0 100755
--- a/configure
+++ b/configure
@@
On Wednesday, 14 August 2019 14:15:25 CEST Philippe Mathieu-Daudé wrote:
> The libssh packaged by a distribution can predate version 0.8,
> but still provides the newer API introduced after version 0.7.
>
> Using the deprecated API leads to build failure, as on Ubuntu 18.04:
>
> CC
On Wednesday, 14 August 2019 14:15:26 CEST Philippe Mathieu-Daudé wrote:
> To figure out which libssh version is installed, checking for
> ssh_get_server_publickey() is not sufficient.
>
> ssh_get_server_publickey() has been introduced in libssh
> commit bbd052202 (predating 0.8) but
On 8/14/19 3:22 PM, Maxim Levitsky wrote:
> This is an issue that was raised today on IRC with Kevin Wolf. Really thanks
> for the idea!
>
> We agreed that this new qmp interface should take the same options as
> blockdev-create does, however since we want to be able to edit the encryption
>
This adds qcrypto_block_manage_encryption, which
is thin wrapper around manage_encryption of the crypto driver
which is also added
Signed-off-by: Maxim Levitsky
---
crypto/block.c | 29 +
crypto/blockpriv.h | 9 +
include/crypto/block.h | 27
Signed-off-by: Maxim Levitsky
---
block/crypto.c | 16 ++
block/crypto.h | 3 +
qemu-img-cmds.hx | 13 +
qemu-img.c | 140 +++
4 files changed, 172 insertions(+)
diff --git a/block/crypto.c b/block/crypto.c
index
Signed-off-by: Maxim Levitsky
---
tests/qemu-iotests/257 | 197 ++
tests/qemu-iotests/257.out | 96 +++
tests/qemu-iotests/258 | 95 +++
tests/qemu-iotests/258.out | 30 +
tests/qemu-iotests/259
This implements the encryption key management
using the generic code in qcrypto layer
This code adds another 'write_func' because the initialization
write_func works directly on the underlying file,
because during the creation, there is no open instance
of the luks driver, but during regular use,
On Wed, 2019-08-14 at 15:27 -0400, John Snow wrote:
>
> On 8/14/19 6:07 AM, Vladimir Sementsov-Ogievskiy wrote:
> > To get rid of implicit filters related workarounds in future let's
> > deprecate them now.
> >
> > Signed-off-by: Vladimir Sementsov-Ogievskiy
> > ---
> > qemu-deprecated.texi
This is the main purpose of the patchset, to enaable
us to manage luks like header, embedded in the qcow2
image, which standard cryptosetup tools don't support.
Signed-off-by: Maxim Levitsky
---
block/qcow2.c | 27 +++
1 file changed, 27 insertions(+)
diff --git
This adds:
* x-blockdev-update-encryption and x-blockdev-erase-encryption qmp commands
Both commands take the QCryptoKeyManageOptions
the x-blockdev-update-encryption is meant for non destructive addition
of key slots / whatever the encryption driver supports in the future
On 3/26/19 10:51 AM, Kevin Wolf wrote:
> We know that the kernel implements a slow fallback code path for
> BLKZEROOUT, so if BDRV_REQ_NO_FALLBACK is given, we shouldn't call it.
> The other operations we call in the context of .bdrv_co_pwrite_zeroes
> should usually be quick, so no modification
While there are other places where these are still stored in memory,
this is still one less key material area that can be sniffed with
various side channel attacks
Signed-off-by: Maxim Levitsky
---
crypto/block-luks.c | 52 ++---
1 file changed, 44
Hi!
This patch series implements key management for luks based encryption
It supports both raw luks images and qcow2 encrypted images.
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1731898
There are still several issues that need to be figured out,
on which the feedback is very welcome,
* rename the write_func to create_write_func,
and init_func to create_init_func
this is preparation for other write_func that will
be used to update the encryption keys.
No functional changes
Signed-off-by: Maxim Levitsky
---
block/crypto.c | 15 ---
1 file changed, 8
Signed-off-by: Maxim Levitsky
---
crypto/block-luks.c | 64 +++--
1 file changed, 38 insertions(+), 26 deletions(-)
diff --git a/crypto/block-luks.c b/crypto/block-luks.c
index 6bb369f3b4..e1a4df94b7 100644
--- a/crypto/block-luks.c
+++
Check that keyslots don't overlap with the data,
and check that keyslots don't overlap with each other.
(this is done using naive O(n^2) nested loops,
but since there are just 8 keyslots, this doens't really matter.
Signed-off-by: Maxim Levitsky
---
crypto/block-luks.c | 42
With upcoming key management, the header will
need to be stored after the image is created.
Extracting load header isn't strictly needed, but
do this anyway for the symmetry.
Also I extracted a function that does basic sanity
checks on the just read header, and a function
which parses all the
This is also a preparation for key read/write/erase functions
* use master key len from the header
* prefer to use crypto params in the QCryptoBlockLUKS
over passing them as function arguments
* define QCRYPTO_BLOCK_LUKS_DEFAULT_ITER_TIME
* Add comments to various crypto parameters in the
Signed-off-by: Maxim Levitsky
---
crypto/block-luks.c | 374 +++-
1 file changed, 373 insertions(+), 1 deletion(-)
diff --git a/crypto/block-luks.c b/crypto/block-luks.c
index 1997e92fe1..2c33643b52 100644
--- a/crypto/block-luks.c
+++
It's hard and not necessary to maintain outdated versions of these
commands.
Signed-off-by: Vladimir Sementsov-Ogievskiy
---
qemu-deprecated.texi | 4
qapi/block-core.json | 4
qapi/transaction.json | 2 +-
blockdev.c| 10 ++
4 files changed, 19 insertions(+),
14.08.2019 0:31, Max Reitz wrote:
> On 30.07.19 16:18, Vladimir Sementsov-Ogievskiy wrote:
>> Further patch will run partial requests of iterations of
>> qcow2_co_preadv in parallel for performance reasons. To prepare for
>> this, separate part which may be parallelized into separate function
>>
To get rid of implicit filters related workarounds in future let's
deprecate them now.
Signed-off-by: Vladimir Sementsov-Ogievskiy
---
qemu-deprecated.texi | 7 +++
qapi/block-core.json | 6 --
include/block/block_int.h | 10 +-
blockdev.c| 10
Hi all!
Max's series to fix some problems around filters consists of 42 patches.
I'm sure that we didn't find all bugs around filters, and that filters
would be a constant source of bugs in future, as during developing new
feature nobody will consider all possible cases of dealing with filters
08.08.2019 0:45, John Snow wrote:
> FYI: I rebased jsnow/bitmaps on top of kwolf/block-next, itself based on
> top of v4.1.0-rc4.
>
> I'll post this along with the eventual pull request, but here's the
> diffstat against the published patches:
>
> 011/33:[0003] [FC] 'block/backup: upgrade
On 14.08.19 00:26, John Snow wrote:
>
>
> On 8/13/19 10:00 AM, Max Reitz wrote:
>> On 12.08.19 23:33, John Snow wrote:
>>>
>>>
>>> On 7/25/19 11:57 AM, Max Reitz wrote:
Several vmdk subformats do not work with iotest 126, so disable them.
(twoGbMaxExtentSparse actually should
On 8/14/19 3:27 PM, Andrea Bolognani wrote:
> On Wed, 2019-08-14 at 14:15 +0200, Philippe Mathieu-Daudé wrote:
>> The libssh packaged by a distribution can predate version 0.8,
>> but still provides the newer API introduced after version 0.7.
>>
>> Using the deprecated API leads to build failure,
On Wednesday, 14 August 2019 14:15:27 CEST Philippe Mathieu-Daudé wrote:
> Log wether the version is 0.7 or 0.8 to better understand
> user reports.
>
> Signed-off-by: Philippe Mathieu-Daudé
> ---
> configure | 6 +-
> 1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git
On Wed, 2019-08-14 at 14:15 +0200, Philippe Mathieu-Daudé wrote:
> The libssh packaged by a distribution can predate version 0.8,
> but still provides the newer API introduced after version 0.7.
>
> Using the deprecated API leads to build failure, as on Ubuntu 18.04:
>
> CC block/ssh.o
On 30.07.19 16:18, Vladimir Sementsov-Ogievskiy wrote:
> Similarly to previous commit, prepare for parallelizing write-loop
> iterations.
>
> Signed-off-by: Vladimir Sementsov-Ogievskiy
> ---
> block/qcow2.c | 150 +-
> 1 file changed, 88
On 14.08.19 17:15, Eric Blake wrote:
> On 8/14/19 4:11 AM, Vladimir Sementsov-Ogievskiy wrote:
>> 14.08.2019 0:31, Max Reitz wrote:
>>> On 30.07.19 16:18, Vladimir Sementsov-Ogievskiy wrote:
Further patch will run partial requests of iterations of
qcow2_co_preadv in parallel for
09.08.2019 19:13, Max Reitz wrote:
> This changes iotest 204's output, because blkdebug on top of a COW node
> used to make qemu-img map disregard the rest of the backing chain (the
> backing chain was broken by the filter). With this patch, the
> allocation in the base image is reported
On 30.07.19 16:18, Vladimir Sementsov-Ogievskiy wrote:
> Similarly to previous commit, prepare for parallelizing write-loop
> iterations.
>
> Signed-off-by: Vladimir Sementsov-Ogievskiy
> ---
> block/qcow2.c | 150 +-
> 1 file changed, 88
On 30.07.19 16:18, Vladimir Sementsov-Ogievskiy wrote:
> It improves performance for fragmented qcow2 images.
>
> Signed-off-by: Vladimir Sementsov-Ogievskiy
> ---
> block/qcow2.c | 125 +
> block/trace-events | 1 +
> 2 files changed, 115
On 8/14/19 9:26 AM, Vladimir Sementsov-Ogievskiy wrote:
> 08.08.2019 0:45, John Snow wrote:
>> FYI: I rebased jsnow/bitmaps on top of kwolf/block-next, itself based on
>> top of v4.1.0-rc4.
>>
>> I'll post this along with the eventual pull request, but here's the
>> diffstat against the
On 8/14/19 3:03 PM, John Snow wrote:
>
> If you'd like to optimize this, I'll invite you to, as a patch.
>
Ah, looks like you're a step ahead of me :)
--js
On 8/14/19 6:07 AM, Vladimir Sementsov-Ogievskiy wrote:
> It's hard and not necessary to maintain outdated versions of these
> commands.
>
> Signed-off-by: Vladimir Sementsov-Ogievskiy
> ---
> qemu-deprecated.texi | 4
> qapi/block-core.json | 4
> qapi/transaction.json | 2 +-
On 8/14/19 6:07 AM, Vladimir Sementsov-Ogievskiy wrote:
> To get rid of implicit filters related workarounds in future let's
> deprecate them now.
>
> Signed-off-by: Vladimir Sementsov-Ogievskiy
> ---
> qemu-deprecated.texi | 7 +++
> qapi/block-core.json | 6 --
>
We have bdrv_dirty_bitmap_next_zero, let's add corresponding
bdrv_dirty_bitmap_next_dirty, which is more comfortable to use than
bitmap iterators in some cases. It will be used in the following
commit.
Signed-off-by: Vladimir Sementsov-Ogievskiy
---
include/block/dirty-bitmap.h | 2 ++
Hi all!
There is a bug in not yet merged patch
"block/backup: teach TOP to never copy unallocated regions"
in https://github.com/jnsnow/qemu bitmaps. 04 fixes it. So, I propose
to put 01-03 somewhere before
"block/backup: teach TOP to never copy unallocated regions"
and squash 04 into
On Wed, 2019-08-14 at 16:15 +0200, Philippe Mathieu-Daudé wrote:
> On 8/14/19 3:27 PM, Andrea Bolognani wrote:
> > On Wed, 2019-08-14 at 14:15 +0200, Philippe Mathieu-Daudé wrote:
> > > The libssh packaged by a distribution can predate version 0.8,
> > > but still provides the newer API introduced
On 14.08.19 11:11, Vladimir Sementsov-Ogievskiy wrote:
> 14.08.2019 0:31, Max Reitz wrote:
>> On 30.07.19 16:18, Vladimir Sementsov-Ogievskiy wrote:
>>> Further patch will run partial requests of iterations of
>>> qcow2_co_preadv in parallel for performance reasons. To prepare for
>>> this,
On 8/14/19 4:11 AM, Vladimir Sementsov-Ogievskiy wrote:
> 14.08.2019 0:31, Max Reitz wrote:
>> On 30.07.19 16:18, Vladimir Sementsov-Ogievskiy wrote:
>>> Further patch will run partial requests of iterations of
>>> qcow2_co_preadv in parallel for performance reasons. To prepare for
>>> this,
On 8/14/19 4:51 PM, Andrea Bolognani wrote:
> On Wed, 2019-08-14 at 16:15 +0200, Philippe Mathieu-Daudé wrote:
>> On 8/14/19 3:27 PM, Andrea Bolognani wrote:
>>> On Wed, 2019-08-14 at 14:15 +0200, Philippe Mathieu-Daudé wrote:
The libssh packaged by a distribution can predate version 0.8,
12.08.2019 16:26, Max Reitz wrote:
> On 12.08.19 13:09, Vladimir Sementsov-Ogievskiy wrote:
>> 09.08.2019 19:13, Max Reitz wrote:
>>> This includes some permission limiting (for example, we only need to
>>> take the RESIZE permission for active commits where the base is smaller
>>> than the top).
It's very uncomfortable that we can't use same variable as result of
bdrv_dirty_bitmap_next_zero and parameter of
bdrv_dirty_bitmap_next_dirty_area.
Signed-off-by: Vladimir Sementsov-Ogievskiy
---
include/block/dirty-bitmap.h | 6 +++---
include/qemu/hbitmap.h | 5 ++---
1. There is a bug: after detection an allocated area of skip_bytes
length we ignore skip_bytes variable and my finish up by copying more
than skip_bytes.
2. If request area is allocated we call block_status for each cluster
on each loop iteration, even if after the first call we know that the
Use more effective search for next dirty byte. Trace point is dropped
to not introduce additional variable and logic only for trace point.
Signed-off-by: Vladimir Sementsov-Ogievskiy
---
block/backup.c | 7 +++
block/trace-events | 1 -
2 files changed, 3 insertions(+), 5 deletions(-)
On 8/13/19 8:08 PM, Eric Blake wrote:
> On 8/13/19 5:44 PM, John Snow wrote:
>> This is for the purpose of toggling on/off persistence on a bitmap.
>> This enables you to save a bitmap that was not persistent, but may
>> have already accumulated valuable data.
>>
>> This is simply a QOL
Patchew URL: https://patchew.org/QEMU/20190814121527.17876-1-phi...@redhat.com/
Hi,
This series failed the asan build test. Please find the testing commands and
their output below. If you have Docker installed, you can probably reproduce it
locally.
=== TEST SCRIPT BEGIN ===
#!/bin/bash
make
14 авг. 2019 г. 17:43 пользователь Vladimir Sementsov-Ogievskiy
написал:
Hi all!
There is a bug in not yet merged patch
"block/backup: teach TOP to never copy unallocated regions"
in https://github.com/jnsnow/qemu bitmaps. 04 fixes it. So, I propose
to put 01-03 somewhere before
59 matches
Mail list logo