On 8/10/2018 7:43 PM, Kevin Wolf wrote:
> Am 08.10.2018 um 18:04 hat Anton Nefedov geschrieben:
>>
>>
>> On 8/10/2018 6:46 PM, Kevin Wolf wrote:
>>> Am 08.10.2018 um 17:25 hat Anton Nefedov geschrieben:
>>>>
>>>>
>>>> On 8/10/2018
": 143,
"failed_wr_operations": 0,
"rd_operations": 4816,
"account_failed": true,
> "unmap_merged": 0,
"wr_total_time_ns": 1262686124,
"invalid_rd_operations": 0
},
"par
it allows to report it in the error handler
Signed-off-by: Anton Nefedov
Reviewed-by: Vladimir Sementsov-Ogievskiy
Reviewed-by: Alberto Garcia
---
hw/scsi/scsi-disk.c | 12 +---
1 file changed, 5 insertions(+), 7 deletions(-)
diff --git a/hw/scsi/scsi-disk.c b/hw/scsi/scsi-disk.c
Signed-off-by: Anton Nefedov
Reviewed-by: Vladimir Sementsov-Ogievskiy
Reviewed-by: Alberto Garcia
Reviewed-by: Eric Blake
---
qapi/block-core.json | 29 +++--
include/block/accounting.h | 1 +
block/qapi.c | 6 ++
tests/qemu-iotests/227.out
Make the stat fields definition slightly more readable.
Also reorder total_time_ns stats read-write-flush as done elsewhere.
Cosmetic change only.
Signed-off-by: Anton Nefedov
---
qapi/block-core.json | 26 +++---
1 file changed, 15 insertions(+), 11 deletions(-)
diff --git
Signed-off-by: Anton Nefedov
---
hw/ide/core.c | 12
1 file changed, 12 insertions(+)
diff --git a/hw/ide/core.c b/hw/ide/core.c
index 04e22e751d..8da77ff3e3 100644
--- a/hw/ide/core.c
+++ b/hw/ide/core.c
@@ -441,6 +441,14 @@ static void ide_issue_trim_cb(void *opaque, int ret
numbers will not include discards triggered by
write-zeroes + MAY_UNMAP calls.
Signed-off-by: Anton Nefedov
---
block/file-posix.c | 28 +---
1 file changed, 25 insertions(+), 3 deletions(-)
diff --git a/block/file-posix.c b/block/file-posix.c
index 2da3a76355..1a7126046c
in blk_aio() functions anyway.
Same approach is already used for emulate_write_same.
Signed-off-by: Anton Nefedov
Reviewed-by: Vladimir Sementsov-Ogievskiy
Reviewed-by: Alberto Garcia
---
hw/scsi/scsi-disk.c | 10 ++
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/hw/scsi/scsi-d
Signed-off-by: Anton Nefedov
---
hw/scsi/scsi-disk.c | 12 +++-
1 file changed, 11 insertions(+), 1 deletion(-)
diff --git a/hw/scsi/scsi-disk.c b/hw/scsi/scsi-disk.c
index e132504913..dee71f9dde 100644
--- a/hw/scsi/scsi-disk.c
+++ b/hw/scsi/scsi-disk.c
@@ -1663,10 +1663,16 @@ static
A block driver can provide a callback to report driver-specific
statistics.
file-posix driver now reports discard statistics
Signed-off-by: Anton Nefedov
---
qapi/block-core.json | 39 +++
include/block/block.h | 1 +
include/block/block_int.h | 1
ounting separately.
Signed-off-by: Anton Nefedov
---
include/block/accounting.h | 1 +
block/accounting.c | 6 ++
2 files changed, 7 insertions(+)
diff --git a/include/block/accounting.h b/include/block/accounting.h
index ba8b04d572..878b4c3581 100644
--- a/include/block/accounting.h
+
On 23/11/2018 7:04 PM, Vladimir Sementsov-Ogievskiy wrote:
> 31.10.2018 14:34, Anton Nefedov wrote:
>> This adds some protection from accounting unitialized cookie.
>
> uninitialized
>
fixed
>> That is, block_acct_failed/done without previous block_acct_start;
On 23/11/2018 9:25 PM, Vladimir Sementsov-Ogievskiy wrote:
> 31.10.2018 14:34, Anton Nefedov wrote:
>> Signed-off-by: Anton Nefedov
>
>
> Reviewed-by: Vladimir Sementsov-Ogievskiy
>
> but be careful: on git am, the chunk about read-only case goes into
> scsi_disk
On 23/11/2018 10:21 PM, Vladimir Sementsov-Ogievskiy wrote:
> 31.10.2018 14:35, Anton Nefedov wrote:
>> A block driver can provide a callback to report driver-specific
>> statistics.
>>
>> file-posix driver now reports discard statistics
>>
>> Signed-off-by:
ations": 0,
"rd_operations": 4816,
"account_failed": true,
> "unmap_merged": 0,
"wr_total_time_ns": 1262686124,
"invalid_rd_operations": 0
},
"parent": {
> "driver-specif
ounting separately.
Signed-off-by: Anton Nefedov
---
include/block/accounting.h | 1 +
block/accounting.c | 6 ++
2 files changed, 7 insertions(+)
diff --git a/include/block/accounting.h b/include/block/accounting.h
index ba8b04d572..878b4c3581 100644
--- a/include/block/accounting.h
+
Signed-off-by: Anton Nefedov
Reviewed-by: Vladimir Sementsov-Ogievskiy
---
hw/ide/core.c | 12
1 file changed, 12 insertions(+)
diff --git a/hw/ide/core.c b/hw/ide/core.c
index 04e22e751d..8da77ff3e3 100644
--- a/hw/ide/core.c
+++ b/hw/ide/core.c
@@ -441,6 +441,14 @@ static void
Signed-off-by: Anton Nefedov
Reviewed-by: Vladimir Sementsov-Ogievskiy
Reviewed-by: Alberto Garcia
Reviewed-by: Eric Blake
---
qapi/block-core.json | 29 +++--
include/block/accounting.h | 1 +
block/qapi.c | 6 ++
tests/qemu-iotests/227.out
it allows to report it in the error handler
Signed-off-by: Anton Nefedov
Reviewed-by: Vladimir Sementsov-Ogievskiy
Reviewed-by: Alberto Garcia
---
hw/scsi/scsi-disk.c | 12 +---
1 file changed, 5 insertions(+), 7 deletions(-)
diff --git a/hw/scsi/scsi-disk.c b/hw/scsi/scsi-disk.c
in blk_aio() functions anyway.
Same approach is already used for emulate_write_same.
Signed-off-by: Anton Nefedov
Reviewed-by: Vladimir Sementsov-Ogievskiy
Reviewed-by: Alberto Garcia
---
hw/scsi/scsi-disk.c | 10 ++
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/hw/scsi/scsi-d
numbers will not include discards triggered by
write-zeroes + MAY_UNMAP calls.
Signed-off-by: Anton Nefedov
Reviewed-by: Vladimir Sementsov-Ogievskiy
---
block/file-posix.c | 28 +---
1 file changed, 25 insertions(+), 3 deletions(-)
diff --git a/block/file-posix.c b/block
Make the stat fields definition slightly more readable.
Also reorder total_time_ns stats read-write-flush as done elsewhere.
Cosmetic change only.
Signed-off-by: Anton Nefedov
Reviewed-by: Alberto Garcia
Reviewed-by: Vladimir Sementsov-Ogievskiy
---
qapi/block-core.json | 26
Signed-off-by: Anton Nefedov
Reviewed-by: Vladimir Sementsov-Ogievskiy
---
hw/scsi/scsi-disk.c | 12 +++-
1 file changed, 11 insertions(+), 1 deletion(-)
diff --git a/hw/scsi/scsi-disk.c b/hw/scsi/scsi-disk.c
index daf37d117c..3968fc6fac 100644
--- a/hw/scsi/scsi-disk.c
+++ b/hw/scsi
A block driver can provide a callback to report driver-specific
statistics.
file-posix driver now reports discard statistics
Signed-off-by: Anton Nefedov
---
qapi/block-core.json | 38 ++
include/block/block.h | 1 +
include/block/block_int.h | 1
Support the flag if the underlying BDS supports it
Signed-off-by: Anton Nefedov
---
block/blkdebug.c | 2 +-
block/blkverify.c| 2 +-
block/copy-on-read.c | 4 ++--
block/mirror.c | 2 +-
block/raw-format.c | 2 +-
5 files changed, 6 insertions(+), 6 deletions(-)
diff --git a
the common block layer (so it will not fall back to any slowpath
(like writing zero buffers) in case the driver does not support
the flag).
Signed-off-by: Anton Nefedov
Reviewed-by: Alberto Garcia
---
include/block/block.h | 9 -
include/block/block_int.h | 2 +-
block/io.c
61.153 | 36.313 | 41% |
|hdd| 112.676 | 122.056 | -8% |
+---+--+--+------+
Anton Nefedov (9):
mirror: inherit supported write/zero flags
blkverify: set supported write/zero flags
quorum: set supported write flags
bloc
Signed-off-by: Anton Nefedov
---
block/blkverify.c | 10 --
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/block/blkverify.c b/block/blkverify.c
index 89bf4386e3..bb52596cbb 100644
--- a/block/blkverify.c
+++ b/block/blkverify.c
@@ -141,8 +141,14 @@ static int
COW (even empty/zero) areas require encryption too
Signed-off-by: Anton Nefedov
Reviewed-by: Eric Blake
Reviewed-by: Max Reitz
Reviewed-by: Alberto Garcia
---
tests/qemu-iotests/134 | 9 +
tests/qemu-iotests/134.out | 10 ++
2 files changed, 19 insertions(+)
diff --git
Signed-off-by: Anton Nefedov
---
block/mirror.c | 8 ++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/block/mirror.c b/block/mirror.c
index 56d9ef7474..56908c9b19 100644
--- a/block/mirror.c
+++ b/block/mirror.c
@@ -1528,8 +1528,12 @@ static void mirror_start_job(const char
Current write_zeroes implementation is good enough to satisfy this flag too
Signed-off-by: Anton Nefedov
---
block/file-posix.c | 8 +++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/block/file-posix.c b/block/file-posix.c
index 07bbdab953..b0b7ab0159 100644
--- a/block/file
request is in flight
already. Return EAGAIN, let the caller reconsider.
Signed-off-by: Anton Nefedov
---
block/io.c | 31 ---
1 file changed, 24 insertions(+), 7 deletions(-)
diff --git a/block/io.c b/block/io.c
index d9d7644858..6ff946f63d 100644
--- a/block
Signed-off-by: Anton Nefedov
---
block/quorum.c | 19 ++-
1 file changed, 18 insertions(+), 1 deletion(-)
diff --git a/block/quorum.c b/block/quorum.c
index 16b3c8067c..d21a6a3b8e 100644
--- a/block/quorum.c
+++ b/block/quorum.c
@@ -857,6 +857,19 @@ static QemuOptsList
anymore.
Use a backing image instead.
Signed-off-by: Anton Nefedov
Reviewed-by: Alberto Garcia
---
qapi/block-core.json | 4 +-
block/qcow2.h | 6 +++
block/qcow2-cluster.c | 2 +-
block/qcow2.c | 80 +-
block/trace-events
On 3/12/2018 4:59 PM, Alberto Garcia wrote:
> On Mon 03 Dec 2018 11:14:59 AM CET, Anton Nefedov wrote:
>> --- a/qapi/block-core.json
>> +++ b/qapi/block-core.json
>> @@ -3004,6 +3004,8 @@
>> #
>> # @cor_write: a write due to copy-on-read (since 2.11)
>
s, but since
BDRV_REQ_ALLOCATE flag is added, so we might want to expose it where
possible.
> Is it a bug, that FUA was not inherited before?
>
I don't think it's a bug really since there is a fallback path in
block/io.c.
> 03.12.2018 13:14, Anton Nefedov wrote:
>&g
On 5/12/2018 3:59 PM, Vladimir Sementsov-Ogievskiy wrote:
> 03.12.2018 13:14, Anton Nefedov wrote:
>> The flag is supposed to indicate that the region of the disk image has
>> to be sufficiently allocated so it reads as zeroes.
>>
>> The call with the flag set must re
On 5/12/2018 4:14 PM, Vladimir Sementsov-Ogievskiy wrote:
> 03.12.2018 13:14, Anton Nefedov wrote:
>> The idea is that ALLOCATE requests may overlap with other requests.
>
> please, describe why
>
It is not used in this series from some point, but the idea is that th
On 5/12/2018 4:25 PM, Vladimir Sementsov-Ogievskiy wrote:
> 03.12.2018 13:14, Anton Nefedov wrote:
>> Current write_zeroes implementation is good enough to satisfy this flag too
>>
>> Signed-off-by: Anton Nefedov
>> ---
>>block/file-posix.c | 8 +++-
&
On 5/12/2018 5:01 PM, Vladimir Sementsov-Ogievskiy wrote:
> 03.12.2018 13:14, Anton Nefedov wrote:
>> If COW areas of the newly allocated clusters are zeroes on the backing image,
>> efficient bdrv_write_zeroes(flags=BDRV_REQ_ALLOCATE) can be used on the whole
>> clust
On 7/12/2018 5:33 PM, Alberto Garcia wrote:
> On Mon 03 Dec 2018 11:14:55 AM CET, Anton Nefedov wrote:
>> Signed-off-by: Anton Nefedov
>> ---
>> block/quorum.c | 19 ++-
>> 1 file changed, 18 insertions(+), 1 deletion(-)
>>
>> diff
On 12/12/2018 3:48 PM, Vladimir Sementsov-Ogievskiy wrote:
> 05.12.2018 17:01, Anton Nefedov wrote:
>> --- a/include/block/block.h
>> +++ b/include/block/block.h
>> @@ -87,6 +87,9 @@ typedef enum {
>> * efficiently allocate the space so it reads as ze
On 12/12/2018 8:19 PM, Vladimir Sementsov-Ogievskiy wrote:
> 05.12.2018 17:11, Anton Nefedov wrote:
>> On 5/12/2018 4:25 PM, Vladimir Sementsov-Ogievskiy wrote:
>>> 03.12.2018 13:14, Anton Nefedov wrote:
>>>> }
>>>> #endif
>
On 13/12/2018 3:02 PM, Vladimir Sementsov-Ogievskiy wrote:
> 03.12.2018 13:14, Anton Nefedov wrote:
>> If COW areas of the newly allocated clusters are zeroes on the backing image,
>> efficient bdrv_write_zeroes(flags=BDRV_REQ_ALLOCATE) can be used on the whole
>> clust
On 13/12/2018 3:20 PM, Markus Armbruster wrote:
> I'm reviewing just the QAPI schema today.
>
> Anton Nefedov writes:
>
>> A block driver can provide a callback to report driver-specific
>> statistics.
>>
>> file-posix driver now reports discard stat
On 14/12/2018 7:20 PM, Vladimir Sementsov-Ogievskiy wrote:
> 03.12.2018 13:14, Anton Nefedov wrote:
>> If COW areas of the newly allocated clusters are zeroes on the backing image,
>> efficient bdrv_write_zeroes(flags=BDRV_REQ_ALLOCATE) can be used on the whole
>> clust
the common block layer (so it will not fall back to any slowpath
(like writing zero buffers) in case the driver does not support
the flag).
Signed-off-by: Anton Nefedov
---
include/block/block.h | 10 +-
include/block/block_int.h | 3 ++-
block/io.c| 14
Signed-off-by: Anton Nefedov
Reviewed-by: Alberto Garcia
Reviewed-by: Vladimir Sementsov-Ogievskiy
---
block/mirror.c | 8 ++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/block/mirror.c b/block/mirror.c
index ab59ad77e8..be52c9be9c 100644
--- a/block/mirror.c
+++ b/block
these flags currently affect nothing without CONFIG_FALLOCATE*, so it's
not a bug. Fixing it makes possible to adjust supported zero flag
BDRV_REQ_ALLOCATE regardless of configuration (in the following patch).
Signed-off-by: Anton Nefedov
---
block/file-posix.c | 8 ++--
1 file chang
|ssd| 61.153 | 36.313 | 41% |
|hdd| 112.676 | 122.056 | -8% |
+---+--+--+------+
Anton Nefedov (10):
mirror: inherit supported write/zero flags
blkverify: set supported write/zero flags
quorum: set supported write f
Signed-off-by: Anton Nefedov
Reviewed-by: Alberto Garcia
Reviewed-by: Vladimir Sementsov-Ogievskiy
---
block/blkverify.c | 10 --
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/block/blkverify.c b/block/blkverify.c
index 89bf4386e3..bb52596cbb 100644
--- a/block
request is in flight
already. Return EAGAIN, let the caller reconsider.
Signed-off-by: Anton Nefedov
---
include/block/block.h | 3 +++
block/io.c| 31 ---
2 files changed, 27 insertions(+), 7 deletions(-)
diff --git a/include/block/block.h b/include
Signed-off-by: Anton Nefedov
Reviewed-by: Alberto Garcia
Reviewed-by: Vladimir Sementsov-Ogievskiy
---
block/quorum.c | 19 ++-
1 file changed, 18 insertions(+), 1 deletion(-)
diff --git a/block/quorum.c b/block/quorum.c
index 16b3c8067c..d21a6a3b8e 100644
--- a/block/quorum.c
COW (even empty/zero) areas require encryption too
Signed-off-by: Anton Nefedov
Reviewed-by: Eric Blake
Reviewed-by: Max Reitz
Reviewed-by: Alberto Garcia
---
tests/qemu-iotests/134 | 9 +
tests/qemu-iotests/134.out | 10 ++
2 files changed, 19 insertions(+)
diff --git
Support the flag if the underlying BDS supports it
Signed-off-by: Anton Nefedov
Reviewed-by: Vladimir Sementsov-Ogievskiy
Reviewed-by: Alberto Garcia
---
block/blkdebug.c | 2 +-
block/blkverify.c| 2 +-
block/copy-on-read.c | 4 ++--
block/mirror.c | 2 +-
block/raw-format.c
Current write_zeroes implementation is good enough to satisfy this flag too
Signed-off-by: Anton Nefedov
---
block/file-posix.c | 8 +++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/block/file-posix.c b/block/file-posix.c
index a65e464cbc..c3fbf53853 100644
--- a/block/file
anymore.
Use a backing image instead.
Signed-off-by: Anton Nefedov
---
qapi/block-core.json | 4 +-
block/qcow2.h | 6 +++
block/qcow2-cluster.c | 2 +-
block/qcow2.c | 89 +-
block/trace-events | 1 +
tests/qemu
On 21/12/2018 7:16 PM, Vladimir Sementsov-Ogievskiy wrote:
> 18.12.2018 10:57, Anton Nefedov wrote:
>> If COW areas of the newly allocated clusters are zeroes on the backing image,
>> efficient bdrv_write_zeroes(flags=BDRV_REQ_ALLOCATE) can be used on the whole
>> clust
Signed-off-by: Anton Nefedov
Reviewed-by: Alberto Garcia
Reviewed-by: Vladimir Sementsov-Ogievskiy
---
block/mirror.c | 8 ++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/block/mirror.c b/block/mirror.c
index f0b211a9c8..7b5a5f13a2 100644
--- a/block/mirror.c
+++ b/block
the common block layer (so it will not fall back to any slowpath
(like writing zero buffers) in case the driver does not support
the flag).
Signed-off-by: Anton Nefedov
Reviewed-by: Vladimir Sementsov-Ogievskiy
Reviewed-by: Alberto Garcia
---
include/block/block.h | 10
| file|before| after| gain |
+---+---+--+---+--+--+
|ssd| 61.153 | 36.313 | 41% |
|hdd| 112.676 | 122.056 | -8% |
+---+--+--+------+
Anton Nefedov (10):
mir
Signed-off-by: Anton Nefedov
Reviewed-by: Alberto Garcia
Reviewed-by: Vladimir Sementsov-Ogievskiy
---
block/quorum.c | 19 ++-
1 file changed, 18 insertions(+), 1 deletion(-)
diff --git a/block/quorum.c b/block/quorum.c
index 16b3c8067c..d21a6a3b8e 100644
--- a/block/quorum.c
these flags currently affect nothing without CONFIG_FALLOCATE*, so it's
not a bug, but fixing it makes possible to adjust supported zero flag
BDRV_REQ_ALLOCATE regardless of configuration.
Signed-off-by: Anton Nefedov
Reviewed-by: Vladimir Sementsov-Ogievskiy
Reviewed-by: Alberto G
Support the flag if the underlying BDS supports it
Signed-off-by: Anton Nefedov
Reviewed-by: Vladimir Sementsov-Ogievskiy
Reviewed-by: Alberto Garcia
---
block/blkdebug.c | 2 +-
block/blkverify.c| 2 +-
block/copy-on-read.c | 4 ++--
block/mirror.c | 2 +-
block/raw-format.c
COW (even empty/zero) areas require encryption too
Signed-off-by: Anton Nefedov
Reviewed-by: Eric Blake
Reviewed-by: Max Reitz
Reviewed-by: Alberto Garcia
---
tests/qemu-iotests/134 | 9 +
tests/qemu-iotests/134.out | 10 ++
2 files changed, 19 insertions(+)
diff --git
anymore.
Use a backing image instead.
Signed-off-by: Anton Nefedov
Reviewed-by: Vladimir Sementsov-Ogievskiy
---
qapi/block-core.json | 4 +-
block/qcow2.h | 6 +++
block/qcow2-cluster.c | 2 +-
block/qcow2.c | 91 +-
block
Signed-off-by: Anton Nefedov
Reviewed-by: Alberto Garcia
Reviewed-by: Vladimir Sementsov-Ogievskiy
---
block/blkverify.c | 10 --
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/block/blkverify.c b/block/blkverify.c
index 89bf4386e3..bb52596cbb 100644
--- a/block
request is in flight
already. Return EAGAIN, let the caller reconsider.
Signed-off-by: Anton Nefedov
Reviewed-by: Alberto Garcia
---
include/block/block.h | 3 +++
block/io.c| 31 ---
2 files changed, 27 insertions(+), 7 deletions(-)
diff --git a
Current write_zeroes implementation is good enough to satisfy this flag too
Signed-off-by: Anton Nefedov
Reviewed-by: Vladimir Sementsov-Ogievskiy
Reviewed-by: Alberto Garcia
---
block/file-posix.c | 8 +++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/block/file-posix.c b
On 30/11/2018 5:47 PM, Anton Nefedov wrote:
> qmp query-blockstats provides stats info for write/read/flush ops.
>
> Patches 1-7 implement the similar for discard (unmap) command for scsi
> and ide disks.
> Discard stat "unmap_ops / unmap_bytes" is supposed to ac
On 15/1/2019 6:27 PM, Alberto Garcia wrote:
> On Mon 14 Jan 2019 12:18:30 PM CET, Anton Nefedov wrote:
>> If COW areas of the newly allocated clusters are zeroes on the backing image,
>> efficient bdrv_write_zeroes(flags=BDRV_REQ_ALLOCATE) can be used on the whole
>> clust
On 06/01/2017 10:07 PM, Eric Blake wrote:
On 06/01/2017 10:14 AM, Anton Nefedov wrote:
The flag is supposed to indicate that the region of the disk image has
to be sufficiently allocated so it reads as zeroes. The call with the flag
set has to return -ENOTSUP if allocation cannot be done
On 06/01/2017 10:50 PM, Eric Blake wrote:
On 06/01/2017 10:14 AM, Anton Nefedov wrote:
Support the flag if the underlying BDS supports it
Signed-off-by: Anton Nefedov
---
block/blkdebug.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
Shouldn't other passthrough drivers
On 06/01/2017 10:54 PM, Eric Blake wrote:
On 06/01/2017 02:49 PM, Eric Blake wrote:
On 06/01/2017 10:14 AM, Anton Nefedov wrote:
Current write_zeroes implementation is good enough to satisfy this flag too
Signed-off-by: Anton Nefedov
---
block/file-posix.c | 9 -
1 file changed
e resolved by the common block layer code since
ALLOCATE requests are serialising.
Signed-off-by: Denis V. Lunev
Signed-off-by: Anton Nefedov
---
block/qcow2.h | 3 +++
block/qcow2.c | 62 +++--
qemu-options.hx | 4
3 files c
request is in flight
already. Return EAGAIN, let the caller reconsider.
Signed-off-by: Anton Nefedov
---
block/io.c | 27 +++
1 file changed, 19 insertions(+), 8 deletions(-)
diff --git a/block/io.c b/block/io.c
index b3f9d61..1b935d8 100644
--- a/block/io.c
+++ b/block
Qcow2State and BlockDriverState flags have to be in sync
Signed-off-by: Anton Nefedov
---
block/qcow2.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/block/qcow2.c b/block/qcow2.c
index 1939d9b..b11dc48 100644
--- a/block/qcow2.c
+++ b/block/qcow2.c
@@ -2135,6 +2135,7 @@ static int
Support the flag if the underlying BDS supports it
Signed-off-by: Anton Nefedov
---
block/blkdebug.c | 3 ++-
block/raw-format.c | 3 ++-
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/block/blkdebug.c b/block/blkdebug.c
index c19ab28..ef2d764 100644
--- a/block/blkdebug.c
The flag is supposed to indicate that the region of the disk image has
to be sufficiently allocated so it reads as zeroes. The call with the flag
set has to return -ENOTSUP if allocation cannot be done efficiently
(i.e. without falling back to writing actual buffers)
Signed-off-by: Anton Nefedov
Current write_zeroes implementation is good enough to satisfy this flag too
Signed-off-by: Anton Nefedov
---
block/file-posix.c | 9 -
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/block/file-posix.c b/block/file-posix.c
index cfbb236..bd52b31 100644
--- a/block/file
lel sequential write operations which are not cluster-aligned
Performance test results are added to commit messages (see patch 3, 12)
Anton Nefedov (10):
block: introduce BDRV_REQ_ALLOCATE flag
block: treat BDRV_REQ_ALLOCATE as serialising
file-posix: support BDRV_REQ_ALLOCATE
block: support
COW (even empty/zero) areas require encryption too
Signed-off-by: Anton Nefedov
---
tests/qemu-iotests/134 | 9 +
tests/qemu-iotests/134.out | 10 ++
2 files changed, 19 insertions(+)
diff --git a/tests/qemu-iotests/134 b/tests/qemu-iotests/134
index 9914415..6083ae4
From: "Denis V. Lunev"
This could be done after calculation of the end of data and metadata in
the qcow2 image.
Signed-off-by: Denis V. Lunev
Signed-off-by: Anton Nefedov
---
block/qcow2.h | 3 +++
block/qcow2-cluster.c | 9 +
block/qcow2-refcount.c | 7 +++
b
To be used in the following commit without a forward declaration.
Signed-off-by: Anton Nefedov
---
block/qcow2.c | 39 +++
1 file changed, 19 insertions(+), 20 deletions(-)
diff --git a/block/qcow2.c b/block/qcow2.c
index 0f4de40..5c7c2b5 100644
--- a/block
uster-alignment areas that were not really COWed are now detected
as zeroes, hence the initial write has to be exactly the same size for
the maps to match
Signed-off-by: Anton Nefedov
---
block/qcow2.c | 22 +-
tests/qemu-iotests/060 | 2 +-
tests/qemu-iotest
It can be detected that
1. COW alignment of a write request is zeroes
2. Respective areas on the underlying BDS already read as zeroes
after being preallocated previously
If both of these true, COW may be skipped
Signed-off-by: Anton Nefedov
---
block/qcow2.h | 12
Signed-off-by: Anton Nefedov
---
tests/qemu-iotests/190 | 146 +
tests/qemu-iotests/190.out | 50
tests/qemu-iotests/group | 1 +
3 files changed, 197 insertions(+)
create mode 100755 tests/qemu-iotests/190
create mode
From: Pavel Butsykin
Preallocated space in the image may remain unused; the patch adds
the functionality to identify and fix it in the qcow2_check
to avoid wasting storage space on the host.
Signed-off-by: Pavel Butsykin
Signed-off-by: Denis V. Lunev
Signed-off-by: Anton Nefedov
---
block
On 07/31/2017 10:11 PM, Eric Blake wrote:
On 07/31/2017 11:21 AM, Anton Nefedov wrote:
Support the flag if the underlying BDS supports it
Signed-off-by: Anton Nefedov
---
block/blkdebug.c | 3 ++-
block/raw-format.c | 3 ++-
2 files changed, 4 insertions(+), 2 deletions(-)
What about
On 07/31/2017 10:13 PM, Eric Blake wrote:
On 07/31/2017 11:22 AM, Anton Nefedov wrote:
To be used in the following commit without a forward declaration.
Signed-off-by: Anton Nefedov
---
block/qcow2.c | 39 +++
1 file changed, 19 insertions(+), 20
Signed-off-by: Anton Nefedov
---
block/mirror.c | 5 +
1 file changed, 5 insertions(+)
diff --git a/block/mirror.c b/block/mirror.c
index d46dace..7e539f1 100644
--- a/block/mirror.c
+++ b/block/mirror.c
@@ -1056,6 +1056,11 @@ static void
bdrv_mirror_top_refresh_filename(BlockDriverState
Current write_zeroes implementation is good enough to satisfy this flag too
Signed-off-by: Anton Nefedov
---
block/file-posix.c | 8
1 file changed, 8 insertions(+)
diff --git a/block/file-posix.c b/block/file-posix.c
index 765a440..4ef1b1d 100644
--- a/block/file-posix.c
+++ b/block
Support the flag if the underlying BDS supports it
Signed-off-by: Anton Nefedov
---
block/blkdebug.c | 3 ++-
block/blkverify.c | 2 +-
block/mirror.c | 2 +-
block/raw-format.c | 3 ++-
4 files changed, 6 insertions(+), 4 deletions(-)
diff --git a/block/blkdebug.c b/block/blkdebug.c
Qcow2State and BlockDriverState flags have to be in sync
Signed-off-by: Anton Nefedov
---
block/qcow2.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/block/qcow2.c b/block/qcow2.c
index 66aa8c2..2a1d2f2 100644
--- a/block/qcow2.c
+++ b/block/qcow2.c
@@ -2138,6 +2138,7 @@ static int
request is in flight
already. Return EAGAIN, let the caller reconsider.
Signed-off-by: Anton Nefedov
---
block/io.c | 27 +++
1 file changed, 19 insertions(+), 8 deletions(-)
diff --git a/block/io.c b/block/io.c
index 04d495e..0a7a372 100644
--- a/block/io.c
+++ b/block
Signed-off-by: Anton Nefedov
---
block/blkverify.c | 9 +
1 file changed, 9 insertions(+)
diff --git a/block/blkverify.c b/block/blkverify.c
index 06369f9..9ba65d0 100644
--- a/block/blkverify.c
+++ b/block/blkverify.c
@@ -140,6 +140,15 @@ static int blkverify_open(BlockDriverState *bs
The flag is supposed to indicate that the region of the disk image has
to be sufficiently allocated so it reads as zeroes. The call with the flag
set has to return -ENOTSUP if allocation cannot be done efficiently
(i.e. without falling back to writing actual buffers)
Signed-off-by: Anton Nefedov
To be used in the following commit without a forward declaration.
Signed-off-by: Anton Nefedov
---
block/qcow2.c | 45 ++---
1 file changed, 22 insertions(+), 23 deletions(-)
diff --git a/block/qcow2.c b/block/qcow2.c
index f522ba9..2ec8b03 100644
--- a
uster-alignment areas that were not really COWed are now detected
as zeroes, hence the initial write has to be exactly the same size for
the maps to match
Signed-off-by: Anton Nefedov
---
block/qcow2.c | 22 +-
tests/qemu-iotests/060 | 2 +-
tests/qemu-iotest
From: Pavel Butsykin
Preallocated space in the image may remain unused; the patch adds
the functionality to identify and fix it in the qcow2_check
to avoid wasting storage space on the host.
Signed-off-by: Pavel Butsykin
Signed-off-by: Denis V. Lunev
Signed-off-by: Anton Nefedov
---
block
1 - 100 of 356 matches
Mail list logo