On Thu, Oct 22, 2020 at 12:17:35AM +0200, Klaus Jensen wrote:
> +for (int i = 1; i <= n->num_namespaces; i++) {
You can call me old-school, but I don't think C should have allowed
mixed declarations with code.
On Thu, Oct 22, 2020 at 12:17:36AM +0200, Klaus Jensen wrote:
> +static void nvme_aio_discard_cb(void *opaque, int ret)
> +{
> +NvmeRequest *req = opaque;
> +int *discards = req->opaque;
> +
> +trace_pci_nvme_aio_discard_cb(nvme_cid(req));
> +
> +if (ret) {
> +req->status =
On Thu, Oct 22, 2020 at 12:17:35AM +0200, Klaus Jensen wrote:
> From: Klaus Jensen
>
> Add support for reporting the Deallocated or Unwritten Logical Block
> Error (DULBE).
>
> Rely on the block status flags reported by the block layer and consider
> any block with the BDRV_BLOCK_ZERO flag to be
> -Original Message-
> From: Klaus Jensen
> Sent: Wednesday, October 21, 2020 6:26 AM
> To: Dmitry Fomichev
> Cc: Keith Busch ; Klaus Jensen
> ; Kevin Wolf ; Philippe
> Mathieu-Daudé ; Maxim Levitsky
> ; Fam Zheng ; Niklas Cassel
> ; Damien Le Moal ;
> qemu-block@nongnu.org; qemu-de...@no
From: Klaus Jensen
Add support for reporting the Deallocated or Unwritten Logical Block
Error (DULBE).
Rely on the block status flags reported by the block layer and consider
any block with the BDRV_BLOCK_ZERO flag to be deallocated.
Multiple factors affect when a Write Zeroes command result in
From: Klaus Jensen
Add support for the Dataset Management command and the Deallocate
attribute. Deallocation results in discards being sent to the underlying
block device. Whether of not the blocks are actually deallocated is
affected by the same factors as Write Zeroes (see previous commit).
From: Klaus Jensen
This adds support for the Deallocated or Unwritten Logical Block error
recovery feature as well as the Dataset Management command.
I wanted to add support for the NPDG and NPDA fields such that the host
could get a hint on how many blocks to request deallocation of for the
dea
On 14.10.2020 18:22, Vladimir Sementsov-Ogievskiy wrote:
14.10.2020 15:51, Max Reitz wrote:
On 12.10.20 19:43, Andrey Shinkevich wrote:
If the flag BDRV_REQ_PREFETCH was set, pass it further to the
COR-driver to skip unneeded reading. It can be taken into account for
the COR-algorithms optimiza
On 20/10/2020 21:02, John Snow wrote:
My last fix for SRST wasn't entirely correct and caused a regression;
namely we need to mime execution of the diagnostic command. If we don't,
Linux bins the IDE device as 'horked'.
For detailed reading on the SRST protocol, I recommend checking out the
ATA
Make snapshot deletion consistent with the snapshot save
and load commands by using a wrapper around the blockdev
layer. The main difference is that we get upfront validation
of the passed in device list (if any).
Signed-off-by: Daniel P. Berrangé
---
include/migration/snapshot.h | 13 ++
On 10/21/20 6:27 PM, Daniel P. Berrangé wrote:
Make snapshot deletion consistent with the snapshot save
and load commands by using a wrapper around the blockdev
layer. The main difference is that we get upfront validation
of the passed in device list (if any).
Signed-off-by: Daniel P. Berrangé
Modify load_snapshot/save_snapshot to accept the device list and vmstate
node name parameters previously added to the block layer.
Signed-off-by: Daniel P. Berrangé
---
include/migration/snapshot.h | 18 --
migration/savevm.c | 28 +---
monitor/h
On 10/21/20 6:27 PM, Daniel P. Berrangé wrote:
Modify load_snapshot/save_snapshot to accept the device list and vmstate
node name parameters previously added to the block layer.
Signed-off-by: Daniel P. Berrangé
---
include/migration/snapshot.h | 18 --
migration/savevm.c
The traditional HMP "savevm" command will overwrite an existing snapshot
if it already exists with the requested name. This new flag allows this
to be controlled allowing for safer behaviour with a future QMP command.
Reviewed-by: Eric Blake
Signed-off-by: Daniel P. Berrangé
---
include/migrati
When running snapshot operations, there are various rules for which
blockdevs are included/excluded. While this provides reasonable default
behaviour, there are scenarios that are not well handled by the default
logic. Some of the conditions do not have a single correct answer.
Thus there needs to
savevm, loadvm and delvm are some of the few HMP commands that have never
been converted to use QMP. The reasons for the lack of conversion are
that they blocked execution of the event thread, and the semantics
around choice of disks were ill-defined.
Despite this downside, however, libvirt and ap
None of the callers care about the errno value since there is a full
Error object populated. This gives consistency with save_snapshot()
which already just returns a boolean value.
Reviewed-by: Dr. David Alan Gilbert
Signed-off-by: Daniel P. Berrangé
[PMD: Return false/true instead of -1/0, docu
When using the _launch_qemu and _send_qemu_cmd functions from
common.qemu, any QMP events get mixed in with the output from
the commands and responses.
This makes it difficult to write a test case as the ordering
of events in the output is not stable.
This introduces a variable 'capture_events' w
Currently bdrv_all_find_snapshot() will return 0 if it finds
a snapshot, -1 if an error occurs, or if it fails to find a
snapshot. New callers to be added want to distinguish between
the error scenario and failing to find a snapshot.
Rename it to bdrv_all_has_snapshot and make it return -1 on
erro
Currently the vmstate will be stored in the first block device that
supports snapshots. Historically this would have usually been the
root device, but with UEFI it might be the variable store. There
needs to be a way to override the choice of block device to store
the state in.
Reviewed-by: Eric B
From: Philippe Mathieu-Daudé
Just for consistency, following the example documented since
commit e3fe3988d7 ("error: Document Error API usage rules"),
return a boolean value indicating an error is set or not.
Acked-by: Pavel Dovgalyuk
Signed-off-by: Philippe Mathieu-Daudé
---
include/migratio
The bdrv_all_*_snapshot functions return a BlockDriverState pointer
for the invalid backend, which the callers then use to report an
error message. In some cases multiple callers are reporting the
same error message, but with slightly different text. In the future
there will be more error scenarios
v1: https://lists.gnu.org/archive/html/qemu-devel/2020-07/msg00866.html
v2: https://lists.gnu.org/archive/html/qemu-devel/2020-07/msg07523.html
v3: https://lists.gnu.org/archive/html/qemu-devel/2020-08/msg07076.html
v4: https://lists.gnu.org/archive/html/qemu-devel/2020-09/msg05221.html
v5: ht
On 10/21/20 9:44 AM, Stefan Reiter wrote:
> sectors_per_chunk is a 64 bit integer, but the calculation is done in 32
> bits, leading to an overflow for coarse bitmap granularities.
>
> If that results in the value 0, it leads to a hang where no progress is
> made but send_bitmap_bits is constantly
On Tue, 20 Oct 2020 at 20:10, John Snow wrote:
>
> The following changes since commit 4c41341af76cfc85b5a6c0f87de4838672ab9f89:
>
>Merge remote-tracking branch 'remotes/aperard/tags/pull-xen-20201020'
> into staging (2020-10-20 11:20:36 +0100)
>
> are available in the Git repository at:
>
>
Benchmark for new preallocate filter.
Example usage:
./bench_prealloc.py ../../build/qemu-img \
ssd-ext4:/path/to/mount/point \
ssd-xfs:/path2 hdd-ext4:/path3 hdd-xfs:/path4
The benchmark shows performance improvement (or degradation) when use
new preallocate filter with qcow2
Make results_to_text a tool to dump results saved in JSON file.
Signed-off-by: Vladimir Sementsov-Ogievskiy
---
scripts/simplebench/results_to_text.py | 14 ++
1 file changed, 14 insertions(+)
mode change 100644 => 100755 scripts/simplebench/results_to_text.py
diff --git a/scripts/
Move to generic format for floats and percentage for error.
Signed-off-by: Vladimir Sementsov-Ogievskiy
---
scripts/simplebench/results_to_text.py | 13 -
1 file changed, 12 insertions(+), 1 deletion(-)
diff --git a/scripts/simplebench/results_to_text.py
b/scripts/simplebench/resul
Let's keep view part in separate: this way it's better to improve it in
the following commits.
Signed-off-by: Vladimir Sementsov-Ogievskiy
---
scripts/simplebench/bench-example.py | 3 +-
scripts/simplebench/bench_write_req.py | 3 +-
scripts/simplebench/results_to_text.py | 48 +
Signed-off-by: Vladimir Sementsov-Ogievskiy
Reviewed-by: Max Reitz
---
tests/qemu-iotests/iotests.py | 7 ++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/tests/qemu-iotests/iotests.py b/tests/qemu-iotests/iotests.py
index f212cec446..0e3d1d0ba3 100644
--- a/tests/qemu-iotest
Next patch will use utf8 plus-minus symbol, let's use more generic (and
more readable) name.
Signed-off-by: Vladimir Sementsov-Ogievskiy
---
scripts/simplebench/bench-example.py | 2 +-
scripts/simplebench/bench_write_req.py | 2 +-
scripts/simplebench/simplebench.py | 10 +-
3 f
Signed-off-by: Vladimir Sementsov-Ogievskiy
---
tests/qemu-iotests/298 | 186 +
tests/qemu-iotests/298.out | 5 +
tests/qemu-iotests/group | 1 +
3 files changed, 192 insertions(+)
create mode 100644 tests/qemu-iotests/298
create mode 100644 tests/q
Performance improvements / degradations are usually discussed in
percentage. Let's make the script calculate it for us.
Signed-off-by: Vladimir Sementsov-Ogievskiy
---
scripts/simplebench/results_to_text.py | 67 +++---
1 file changed, 60 insertions(+), 7 deletions(-)
diff -
21.10.2020 17:44, Stefan Reiter wrote:
sectors_per_chunk is a 64 bit integer, but the calculation is done in 32
bits, leading to an overflow for coarse bitmap granularities.
If that results in the value 0, it leads to a hang where no progress is
made but send_bitmap_bits is constantly called wit
This will be used in further test.
Signed-off-by: Vladimir Sementsov-Ogievskiy
Reviewed-by: Max Reitz
---
qemu-io-cmds.c | 46 --
1 file changed, 32 insertions(+), 14 deletions(-)
diff --git a/qemu-io-cmds.c b/qemu-io-cmds.c
index 4153f1c0b0..9761196
Do generic processing even for drivers which define .bdrv_check_perm
handler. It's needed for further preallocate filter: it will need to do
additional action on bdrv_check_perm, but don't want to reimplement
generic logic.
The patch doesn't change existing behaviour: the only driver that
implemen
Signed-off-by: Vladimir Sementsov-Ogievskiy
---
scripts/simplebench/simplebench.py | 12 ++--
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/scripts/simplebench/simplebench.py
b/scripts/simplebench/simplebench.py
index 59e7314ff6..2445932fc2 100644
--- a/scripts/simplebenc
1. BDRV_REQ_NO_SERIALISING doesn't exist already, don't mention it.
2. We are going to add one more user of BDRV_REQ_SERIALISING, so
comment about backup becomes a bit confusing here. The use case in
backup is documented in block/backup.c, so let's just drop
duplication here.
3. The fact
bs is linked in req, so no needs to pass it separately. Most of
tracked-requests API doesn't have bs argument. Actually, after this
patch only tracked_request_begin has it, but it's for purpose.
While being here, also add a comment about what "_locked" is.
Signed-off-by: Vladimir Sementsov-Ogievs
Add flag to make serialising request no wait: if there are conflicting
requests, just return error immediately. It's will be used in upcoming
preallocate filter.
Signed-off-by: Vladimir Sementsov-Ogievskiy
Reviewed-by: Max Reitz
---
include/block/block.h | 9 -
block/io.c|
Hi all!
Here is a filter, which does preallocation on write.
v7:
01: add Alberto's r-b
07: don't remove sentence from the comment
08: - drop extra "s->file_end = end;" line
- improve check/set perm handlers
09: add Max's r-b
10: add Max's r-b
11: new
12: - skip if preallocate unsupported
On Wed, Oct 21, 2020 at 08:40:33AM +0200, Volker Rümelin wrote:
> Commit 9ce44e2ce2 "qmp: Move dispatcher to a coroutine" modified
> aio_poll() in util/aio-posix.c to avoid an assertion failure. This
> change is missing in util/aio-win32.c.
>
> Apply the changes to util/aio-posix.c to util/aio-win
Add a parameter to skip test if some needed additional formats are not
supported (for example filter drivers).
Signed-off-by: Vladimir Sementsov-Ogievskiy
---
tests/qemu-iotests/iotests.py | 9 -
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/tests/qemu-iotests/iotests.py b
It's intended to be inserted between format and protocol nodes to
preallocate additional space (expanding protocol file) on writes
crossing EOF. It improves performance for file-systems with slow
allocation.
Signed-off-by: Vladimir Sementsov-Ogievskiy
---
docs/system/qemu-block-drivers.rst.inc |
Standard deviation is more usual to see after +- than current maximum
of deviations.
Signed-off-by: Vladimir Sementsov-Ogievskiy
---
scripts/simplebench/simplebench.py | 11 ++-
1 file changed, 6 insertions(+), 5 deletions(-)
diff --git a/scripts/simplebench/simplebench.py
b/scripts/si
We'll need a separate function, which will only "mark" request
serialising with specified align but not wait for conflicting
requests. So, it will be like old bdrv_mark_request_serialising(),
before merging bdrv_wait_serialising_requests_locked() into it.
To reduce the possible mess, let's do the
Support benchmarks returning not seconds but iops. We'll use it for
further new test.
Signed-off-by: Vladimir Sementsov-Ogievskiy
---
scripts/simplebench/simplebench.py | 38 ++
1 file changed, 28 insertions(+), 10 deletions(-)
diff --git a/scripts/simplebench/simple
To be reused in separate.
Signed-off-by: Vladimir Sementsov-Ogievskiy
Reviewed-by: Stefan Hajnoczi
---
block/io.c | 71 +++---
1 file changed, 41 insertions(+), 30 deletions(-)
diff --git a/block/io.c b/block/io.c
index bf6d4d5e77..c2d9b1f849 100
The comments states, that on misaligned request we should have already
been waiting. But for bdrv_padding_rmw_read, we called
bdrv_mark_request_serialising with align = request_alignment, and now
we serialise with align = cluster_size. So we may have to wait again
with larger alignment.
Note, that
sectors_per_chunk is a 64 bit integer, but the calculation is done in 32
bits, leading to an overflow for coarse bitmap granularities.
If that results in the value 0, it leads to a hang where no progress is
made but send_bitmap_bits is constantly called with nr_sectors being 0.
Signed-off-by: Ste
The "qemu-common.h" include is not used, remove it.
Reported-by: Euler Robot
Signed-off-by: AlexChen
---
block/dmg-lzfse.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/block/dmg-lzfse.c b/block/dmg-lzfse.c
index 19d25bc646..6798cf4fbf 100644
--- a/block/dmg-lzfse.c
+++ b/block/dmg-lzfse.c
Am 20.10.2020 um 12:29 hat Nikolay Shirokovskiy geschrieben:
>
>
> On 20.10.2020 13:23, Nikolay Shirokovskiy wrote:
> >
> >
> > On 20.10.2020 11:50, Kevin Wolf wrote:
> >> Am 20.10.2020 um 10:21 hat Nikolay Shirokovskiy geschrieben:
> >>> Hi, all.
> >>>
> >>> I recently found a corner case when
Am 20.10.2020 um 13:53 hat Alberto Garcia geschrieben:
> On Tue 20 Oct 2020 10:23:33 AM CEST, Kevin Wolf wrote:
> >> >https://lists.gnu.org/archive/html/qemu-block/2020-02/msg00601.html
> >>
> >> I forgot to add, we still don't support changing bs->file with this
> >> command, so I guess that
On Oct 19 11:17, Dmitry Fomichev wrote:
> +/*
> + * Close or finish all the zones that are currently open.
> + */
> +static void nvme_zoned_clear_ns(NvmeNamespace *ns)
> +{
> +NvmeZone *zone;
> +uint32_t set_state;
> +int i;
> +
> +zone = ns->zone_array;
> +for (i = 0; i < ns->n
On Mon, Oct 12, 2020 at 02:27:43PM +0200, Philippe Mathieu-Daudé wrote:
> From: Daniel P. Berrangé
>
> None of the callers care about the errno value since there is a full
> Error object populated. This gives consistency with save_snapshot()
> which already just returns a boolean value.
>
> Revi
On 10/21/20 11:57 AM, Bin Meng wrote:
Hi Philippe,
On Tue, Oct 20, 2020 at 11:18 PM Philippe Mathieu-Daudé wrote:
Hi Bin,
On 8/21/20 7:29 PM, Philippe Mathieu-Daudé wrote:
From: Bin Meng
At present the function switch status data structure bit [399:376]
are wrongly pupulated. These 3 byte
On 10/21/20 11:56 AM, Daniel P. Berrangé wrote:
On Mon, Oct 12, 2020 at 02:27:42PM +0200, Philippe Mathieu-Daudé wrote:
Just for consistency, following the example documented since
commit e3fe3988d7 ("error: Document Error API usage rules"),
return a boolean value indicating an error is set or n
Hi Philippe,
On Tue, Oct 20, 2020 at 11:18 PM Philippe Mathieu-Daudé wrote:
>
> Hi Bin,
>
> On 8/21/20 7:29 PM, Philippe Mathieu-Daudé wrote:
> > From: Bin Meng
> >
> > At present the function switch status data structure bit [399:376]
> > are wrongly pupulated. These 3 bytes encode function swi
On 10/17/20 8:31 PM, Alexander Bulekov wrote:
On 201015 0838, Philippe Mathieu-Daudé wrote:
Yet another bug in the sdcard model found by libfuzzer:
https://bugs.launchpad.net/bugs/1895310
Since RFC: Settled migration issue
Philippe Mathieu-Daudé (6):
hw/sd/sdcard: Add trace event for ERASE
On Mon, Oct 12, 2020 at 02:27:42PM +0200, Philippe Mathieu-Daudé wrote:
> Just for consistency, following the example documented since
> commit e3fe3988d7 ("error: Document Error API usage rules"),
> return a boolean value indicating an error is set or not.
>
> Acked-by: Pavel Dovgalyuk
> Signed-
From: likejun
Test raw thin provisioned image creation, size and rw
Signed-off-by: likejun
---
tests/qemu-iotests/309 | 102 +
tests/qemu-iotests/309.out | 21
tests/qemu-iotests/group | 1 +
3 files changed, 124 insertions(+)
create mode
From: likejun
Test falloc image creation, size and rw
Signed-off-by: likejun
---
tests/qemu-iotests/310 | 104 +
tests/qemu-iotests/310.out | 21
tests/qemu-iotests/group | 1 +
3 files changed, 126 insertions(+)
create mode 100755 tests/q
From: likejun
Test backing file is raw
Signed-off-by: likejun
---
tests/qemu-iotests/311 | 70 ++
tests/qemu-iotests/311.out | 30
tests/qemu-iotests/group | 1 +
3 files changed, 101 insertions(+)
create mode 100755 tests/qemu-iotes
From: likejun
This patch set add those iotests:
308: Test thick image creation, size and rw;
309: Test raw thin provisioned image creation, size and rw;
310: Test falloc image creation, size and rw;
311: Test backing file is raw;
likejun (4):
qemu-iotest: add 308 testcase
qemu-iotest: add 30
Commit 9ce44e2ce2 "qmp: Move dispatcher to a coroutine" modified
aio_poll() in util/aio-posix.c to avoid an assertion failure. This
change is missing in util/aio-win32.c.
Apply the changes to util/aio-posix.c to util/aio-win32.c too.
This fixes an assertion failure on Windows whenever QEMU exits.
From: likejun
Test thick image creation, size and rw
Signed-off-by: likejun
---
tests/qemu-iotests/308 | 104 +
tests/qemu-iotests/308.out | 21
tests/qemu-iotests/group | 1 +
3 files changed, 126 insertions(+)
create mode 100755 tests/qe
66 matches
Mail list logo