mbox series

[v2,00/11] qcow2: make subclusters discardable

Message ID 20240513063203.113911-1-andrey.drobyshev@virtuozzo.com
Headers show
Series qcow2: make subclusters discardable | expand

Message

Andrey Drobyshev May 13, 2024, 6:31 a.m. UTC
v1: https://lists.nongnu.org/archive/html/qemu-devel/2023-10/msg07223.html

Andrey Drobyshev (11):
  qcow2: make function update_refcount_discard() global
  qcow2: simplify L2 entries accounting for discard-no-unref
  qcow2: put discard requests in the common queue when discard-no-unref
    enabled
  block/file-posix: add trace event for fallocate() calls
  iotests/common.rc: add disk_usage function
  iotests/290: add test case to check 'discard-no-unref' option behavior
  qcow2: add get_sc_range_info() helper for working with subcluster
    ranges
  qcow2: zeroize the entire cluster when there're no non-zero
    subclusters
  qcow2: make subclusters discardable
  qcow2: zero_l2_subclusters: fall through to discard operation when
    requested
  iotests/271: add test cases for subcluster-based discard/unmap

 block/file-posix.c           |   1 +
 block/qcow2-cluster.c        | 346 ++++++++++++++++++++++++++++-------
 block/qcow2-refcount.c       |   8 +-
 block/qcow2-snapshot.c       |   6 +-
 block/qcow2.c                |  25 +--
 block/qcow2.h                |   6 +-
 block/trace-events           |   1 +
 tests/qemu-iotests/250       |   5 -
 tests/qemu-iotests/271       |  72 ++++++--
 tests/qemu-iotests/271.out   |  69 ++++++-
 tests/qemu-iotests/290       |  34 ++++
 tests/qemu-iotests/290.out   |  28 +++
 tests/qemu-iotests/common.rc |   6 +
 13 files changed, 490 insertions(+), 117 deletions(-)

Comments

Andrey Drobyshev June 3, 2024, 9:19 a.m. UTC | #1
On 5/13/24 9:31 AM, Andrey Drobyshev wrote:
> v1: https://lists.nongnu.org/archive/html/qemu-devel/2023-10/msg07223.html
> 
> Andrey Drobyshev (11):
>   qcow2: make function update_refcount_discard() global
>   qcow2: simplify L2 entries accounting for discard-no-unref
>   qcow2: put discard requests in the common queue when discard-no-unref
>     enabled
>   block/file-posix: add trace event for fallocate() calls
>   iotests/common.rc: add disk_usage function
>   iotests/290: add test case to check 'discard-no-unref' option behavior
>   qcow2: add get_sc_range_info() helper for working with subcluster
>     ranges
>   qcow2: zeroize the entire cluster when there're no non-zero
>     subclusters
>   qcow2: make subclusters discardable
>   qcow2: zero_l2_subclusters: fall through to discard operation when
>     requested
>   iotests/271: add test cases for subcluster-based discard/unmap
> 
>  block/file-posix.c           |   1 +
>  block/qcow2-cluster.c        | 346 ++++++++++++++++++++++++++++-------
>  block/qcow2-refcount.c       |   8 +-
>  block/qcow2-snapshot.c       |   6 +-
>  block/qcow2.c                |  25 +--
>  block/qcow2.h                |   6 +-
>  block/trace-events           |   1 +
>  tests/qemu-iotests/250       |   5 -
>  tests/qemu-iotests/271       |  72 ++++++--
>  tests/qemu-iotests/271.out   |  69 ++++++-
>  tests/qemu-iotests/290       |  34 ++++
>  tests/qemu-iotests/290.out   |  28 +++
>  tests/qemu-iotests/common.rc |   6 +
>  13 files changed, 490 insertions(+), 117 deletions(-)
> 

Friendly ping
Andrey Drobyshev June 10, 2024, 9:53 a.m. UTC | #2
On 6/3/24 12:19 PM, Andrey Drobyshev wrote:
> On 5/13/24 9:31 AM, Andrey Drobyshev wrote:
>> v1: https://lists.nongnu.org/archive/html/qemu-devel/2023-10/msg07223.html
>>
>> Andrey Drobyshev (11):
>>   qcow2: make function update_refcount_discard() global
>>   qcow2: simplify L2 entries accounting for discard-no-unref
>>   qcow2: put discard requests in the common queue when discard-no-unref
>>     enabled
>>   block/file-posix: add trace event for fallocate() calls
>>   iotests/common.rc: add disk_usage function
>>   iotests/290: add test case to check 'discard-no-unref' option behavior
>>   qcow2: add get_sc_range_info() helper for working with subcluster
>>     ranges
>>   qcow2: zeroize the entire cluster when there're no non-zero
>>     subclusters
>>   qcow2: make subclusters discardable
>>   qcow2: zero_l2_subclusters: fall through to discard operation when
>>     requested
>>   iotests/271: add test cases for subcluster-based discard/unmap
>>
>>  block/file-posix.c           |   1 +
>>  block/qcow2-cluster.c        | 346 ++++++++++++++++++++++++++++-------
>>  block/qcow2-refcount.c       |   8 +-
>>  block/qcow2-snapshot.c       |   6 +-
>>  block/qcow2.c                |  25 +--
>>  block/qcow2.h                |   6 +-
>>  block/trace-events           |   1 +
>>  tests/qemu-iotests/250       |   5 -
>>  tests/qemu-iotests/271       |  72 ++++++--
>>  tests/qemu-iotests/271.out   |  69 ++++++-
>>  tests/qemu-iotests/290       |  34 ++++
>>  tests/qemu-iotests/290.out   |  28 +++
>>  tests/qemu-iotests/common.rc |   6 +
>>  13 files changed, 490 insertions(+), 117 deletions(-)
>>
> 
> Friendly ping

Ping
Andrey Drobyshev June 17, 2024, 7:39 a.m. UTC | #3
On 6/10/24 11:53 AM, Andrey Drobyshev wrote:
> On 6/3/24 12:19 PM, Andrey Drobyshev wrote:
>> On 5/13/24 9:31 AM, Andrey Drobyshev wrote:
>>> v1: https://lists.nongnu.org/archive/html/qemu-devel/2023-10/msg07223.html
>>>
>>> Andrey Drobyshev (11):
>>>   qcow2: make function update_refcount_discard() global
>>>   qcow2: simplify L2 entries accounting for discard-no-unref
>>>   qcow2: put discard requests in the common queue when discard-no-unref
>>>     enabled
>>>   block/file-posix: add trace event for fallocate() calls
>>>   iotests/common.rc: add disk_usage function
>>>   iotests/290: add test case to check 'discard-no-unref' option behavior
>>>   qcow2: add get_sc_range_info() helper for working with subcluster
>>>     ranges
>>>   qcow2: zeroize the entire cluster when there're no non-zero
>>>     subclusters
>>>   qcow2: make subclusters discardable
>>>   qcow2: zero_l2_subclusters: fall through to discard operation when
>>>     requested
>>>   iotests/271: add test cases for subcluster-based discard/unmap
>>>
>>>  block/file-posix.c           |   1 +
>>>  block/qcow2-cluster.c        | 346 ++++++++++++++++++++++++++++-------
>>>  block/qcow2-refcount.c       |   8 +-
>>>  block/qcow2-snapshot.c       |   6 +-
>>>  block/qcow2.c                |  25 +--
>>>  block/qcow2.h                |   6 +-
>>>  block/trace-events           |   1 +
>>>  tests/qemu-iotests/250       |   5 -
>>>  tests/qemu-iotests/271       |  72 ++++++--
>>>  tests/qemu-iotests/271.out   |  69 ++++++-
>>>  tests/qemu-iotests/290       |  34 ++++
>>>  tests/qemu-iotests/290.out   |  28 +++
>>>  tests/qemu-iotests/common.rc |   6 +
>>>  13 files changed, 490 insertions(+), 117 deletions(-)
>>>
>>
>> Friendly ping
> 
> Ping

Friendly ping
Andrey Drobyshev June 24, 2024, 7:43 a.m. UTC | #4
On 6/17/24 9:39 AM, Andrey Drobyshev wrote:
> On 6/10/24 11:53 AM, Andrey Drobyshev wrote:
>> On 6/3/24 12:19 PM, Andrey Drobyshev wrote:
>>> On 5/13/24 9:31 AM, Andrey Drobyshev wrote:
>>>> v1: https://lists.nongnu.org/archive/html/qemu-devel/2023-10/msg07223.html
>>>>
>>>> Andrey Drobyshev (11):
>>>>   qcow2: make function update_refcount_discard() global
>>>>   qcow2: simplify L2 entries accounting for discard-no-unref
>>>>   qcow2: put discard requests in the common queue when discard-no-unref
>>>>     enabled
>>>>   block/file-posix: add trace event for fallocate() calls
>>>>   iotests/common.rc: add disk_usage function
>>>>   iotests/290: add test case to check 'discard-no-unref' option behavior
>>>>   qcow2: add get_sc_range_info() helper for working with subcluster
>>>>     ranges
>>>>   qcow2: zeroize the entire cluster when there're no non-zero
>>>>     subclusters
>>>>   qcow2: make subclusters discardable
>>>>   qcow2: zero_l2_subclusters: fall through to discard operation when
>>>>     requested
>>>>   iotests/271: add test cases for subcluster-based discard/unmap
>>>>
>>>>  block/file-posix.c           |   1 +
>>>>  block/qcow2-cluster.c        | 346 ++++++++++++++++++++++++++++-------
>>>>  block/qcow2-refcount.c       |   8 +-
>>>>  block/qcow2-snapshot.c       |   6 +-
>>>>  block/qcow2.c                |  25 +--
>>>>  block/qcow2.h                |   6 +-
>>>>  block/trace-events           |   1 +
>>>>  tests/qemu-iotests/250       |   5 -
>>>>  tests/qemu-iotests/271       |  72 ++++++--
>>>>  tests/qemu-iotests/271.out   |  69 ++++++-
>>>>  tests/qemu-iotests/290       |  34 ++++
>>>>  tests/qemu-iotests/290.out   |  28 +++
>>>>  tests/qemu-iotests/common.rc |   6 +
>>>>  13 files changed, 490 insertions(+), 117 deletions(-)
>>>>
>>>
>>> Friendly ping
>>
>> Ping
> 
> Friendly ping

Yet another one
Andrey Drobyshev July 8, 2024, 7:06 a.m. UTC | #5
On 6/24/24 10:43 AM, Andrey Drobyshev wrote:
> On 6/17/24 9:39 AM, Andrey Drobyshev wrote:
>> On 6/10/24 11:53 AM, Andrey Drobyshev wrote:
>>> On 6/3/24 12:19 PM, Andrey Drobyshev wrote:
>>>> On 5/13/24 9:31 AM, Andrey Drobyshev wrote:
>>>>> v1: https://lists.nongnu.org/archive/html/qemu-devel/2023-10/msg07223.html
>>>>>
>>>>> Andrey Drobyshev (11):
>>>>>   qcow2: make function update_refcount_discard() global
>>>>>   qcow2: simplify L2 entries accounting for discard-no-unref
>>>>>   qcow2: put discard requests in the common queue when discard-no-unref
>>>>>     enabled
>>>>>   block/file-posix: add trace event for fallocate() calls
>>>>>   iotests/common.rc: add disk_usage function
>>>>>   iotests/290: add test case to check 'discard-no-unref' option behavior
>>>>>   qcow2: add get_sc_range_info() helper for working with subcluster
>>>>>     ranges
>>>>>   qcow2: zeroize the entire cluster when there're no non-zero
>>>>>     subclusters
>>>>>   qcow2: make subclusters discardable
>>>>>   qcow2: zero_l2_subclusters: fall through to discard operation when
>>>>>     requested
>>>>>   iotests/271: add test cases for subcluster-based discard/unmap
>>>>>
>>>>>  block/file-posix.c           |   1 +
>>>>>  block/qcow2-cluster.c        | 346 ++++++++++++++++++++++++++++-------
>>>>>  block/qcow2-refcount.c       |   8 +-
>>>>>  block/qcow2-snapshot.c       |   6 +-
>>>>>  block/qcow2.c                |  25 +--
>>>>>  block/qcow2.h                |   6 +-
>>>>>  block/trace-events           |   1 +
>>>>>  tests/qemu-iotests/250       |   5 -
>>>>>  tests/qemu-iotests/271       |  72 ++++++--
>>>>>  tests/qemu-iotests/271.out   |  69 ++++++-
>>>>>  tests/qemu-iotests/290       |  34 ++++
>>>>>  tests/qemu-iotests/290.out   |  28 +++
>>>>>  tests/qemu-iotests/common.rc |   6 +
>>>>>  13 files changed, 490 insertions(+), 117 deletions(-)
>>>>>
>>>>
>>>> Friendly ping
>>>
>>> Ping
>>
>> Friendly ping
> 
> Yet another one

Ping
Andrey Drobyshev July 15, 2024, 7:44 a.m. UTC | #6
On 7/8/24 10:06 AM, Andrey Drobyshev wrote:
> On 6/24/24 10:43 AM, Andrey Drobyshev wrote:
>> On 6/17/24 9:39 AM, Andrey Drobyshev wrote:
>>> On 6/10/24 11:53 AM, Andrey Drobyshev wrote:
>>>> On 6/3/24 12:19 PM, Andrey Drobyshev wrote:
>>>>> On 5/13/24 9:31 AM, Andrey Drobyshev wrote:
>>>>>> v1: https://lists.nongnu.org/archive/html/qemu-devel/2023-10/msg07223.html
>>>>>>
>>>>>> Andrey Drobyshev (11):
>>>>>>   qcow2: make function update_refcount_discard() global
>>>>>>   qcow2: simplify L2 entries accounting for discard-no-unref
>>>>>>   qcow2: put discard requests in the common queue when discard-no-unref
>>>>>>     enabled
>>>>>>   block/file-posix: add trace event for fallocate() calls
>>>>>>   iotests/common.rc: add disk_usage function
>>>>>>   iotests/290: add test case to check 'discard-no-unref' option behavior
>>>>>>   qcow2: add get_sc_range_info() helper for working with subcluster
>>>>>>     ranges
>>>>>>   qcow2: zeroize the entire cluster when there're no non-zero
>>>>>>     subclusters
>>>>>>   qcow2: make subclusters discardable
>>>>>>   qcow2: zero_l2_subclusters: fall through to discard operation when
>>>>>>     requested
>>>>>>   iotests/271: add test cases for subcluster-based discard/unmap
>>>>>>
>>>>>>  block/file-posix.c           |   1 +
>>>>>>  block/qcow2-cluster.c        | 346 ++++++++++++++++++++++++++++-------
>>>>>>  block/qcow2-refcount.c       |   8 +-
>>>>>>  block/qcow2-snapshot.c       |   6 +-
>>>>>>  block/qcow2.c                |  25 +--
>>>>>>  block/qcow2.h                |   6 +-
>>>>>>  block/trace-events           |   1 +
>>>>>>  tests/qemu-iotests/250       |   5 -
>>>>>>  tests/qemu-iotests/271       |  72 ++++++--
>>>>>>  tests/qemu-iotests/271.out   |  69 ++++++-
>>>>>>  tests/qemu-iotests/290       |  34 ++++
>>>>>>  tests/qemu-iotests/290.out   |  28 +++
>>>>>>  tests/qemu-iotests/common.rc |   6 +
>>>>>>  13 files changed, 490 insertions(+), 117 deletions(-)
>>>>>>
>>>>>
>>>>> Friendly ping
>>>>
>>>> Ping
>>>
>>> Friendly ping
>>
>> Yet another one
> 
> Ping

Another ping