[libvirt] [PATCH v2 2/2] qapi: deprecate implicit filters

Vladimir Sementsov-Ogievskiy vsementsov at virtuozzo.com
Fri Nov 8 13:56:03 UTC 2019


08.11.2019 16:27, Peter Krempa wrote:
> On Fri, Nov 08, 2019 at 13:16:55 +0300, Vladimir Sementsov-Ogievskiy wrote:
>> To get rid of implicit filters related workarounds in future let's
>> deprecate them now.
>>
>> Deprecation warning breaks some bash iotests output, so fix it here
>> too: in most of cases just add filter-node-name in test.
>>
>> In 161 add FIXME and deprecation warning into 161.out.
>>
>> In 249, the test case is changed, as we don't need to test "default"
>> filter node name anymore.
>>
>> Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov at virtuozzo.com>
>> ---
>>   qemu-deprecated.texi       |  6 ++++++
>>   qapi/block-core.json       |  9 ++++++---
>>   include/block/block_int.h  | 10 +++++++++-
>>   blockdev.c                 | 10 ++++++++++
>>   tests/qemu-iotests/094     |  1 +
>>   tests/qemu-iotests/095     |  6 ++++--
>>   tests/qemu-iotests/109     |  1 +
>>   tests/qemu-iotests/127     |  1 +
>>   tests/qemu-iotests/141     |  5 ++++-
>>   tests/qemu-iotests/144     |  3 ++-
>>   tests/qemu-iotests/156     |  1 +
>>   tests/qemu-iotests/161     |  7 +++++++
>>   tests/qemu-iotests/161.out |  1 +
>>   tests/qemu-iotests/185     |  3 +++
>>   tests/qemu-iotests/191     |  2 ++
>>   tests/qemu-iotests/229     |  1 +
>>   tests/qemu-iotests/247     |  8 +++++---
>>   tests/qemu-iotests/249     |  5 +++--
>>   tests/qemu-iotests/249.out |  2 +-
>>   19 files changed, 68 insertions(+), 14 deletions(-)
>>
>> diff --git a/qemu-deprecated.texi b/qemu-deprecated.texi
>> index 296bfc93a3..c969faf55a 100644
>> --- a/qemu-deprecated.texi
>> +++ b/qemu-deprecated.texi
>> @@ -204,6 +204,12 @@ and accurate ``query-qmp-schema'' command.
>>   Character devices creating sockets in client mode should not specify
>>   the 'wait' field, which is only applicable to sockets in server mode
>>   
>> + at subsection implicit filters in mirror and commit (since 4.2)
>> +
>> +Mirror and commit jobs insert filters, which becomes implicit if user
>> +omitted @option(filter-node-name) parameter. So omitting it is deprecated
>> +in ``blockdev-mirror'', ``drive-mirror'' and ``block-commit'', set it always.
>> +
>>   @section Human Monitor Protocol (HMP) commands
>>   
>>   @subsection The hub_id parameter of 'hostfwd_add' / 'hostfwd_remove' (since 3.1)
>> diff --git a/qapi/block-core.json b/qapi/block-core.json
>> index 93530d3a13..37caed775f 100644
>> --- a/qapi/block-core.json
>> +++ b/qapi/block-core.json
>> @@ -1659,7 +1659,8 @@
>>   # @filter-node-name: the node name that should be assigned to the
>>   #                    filter driver that the commit job inserts into the graph
>>   #                    above @top. If this option is not given, a node name is
>> -#                    autogenerated. (Since: 2.9)
>> +#                    autogenerated. Omitting this option is deprecated, it will
>> +#                    be required in future. (Since: 2.9)
>>   #
>>   # @auto-finalize: When false, this job will wait in a PENDING state after it has
>>   #                 finished its work, waiting for @block-job-finalize before
> 
> Note that 'block-commit' and 'drive-mirror' commands are used by libvirt
> in the pre-blockdev era. In those instances we gather statistics of
> block devices by nesting in the output of query-blockstats and
> query-block rather than selecting the appropriate info by any other
> means (e.g. by node name).
> 
> This means that the output MUST stay consistend when block jobs are used
> and the hack this patch is deprcating will break those.
> 
> Note that in libvirt we don't plan to invest time to add workarounds for
> non-blockdev cases since blockdev by itself is complex enough and I'd
> strongly prefer not having a third code path to care about.
> 
> Given that -blockdev can't be used in all cases (e.g. for sd-cards)
> which also blocks deprecation of -drive I don't think that hiding of
> implicit filter nodes can be deprecated until -drive is deprecated.
> 


OK, so, we can't deprecate anything around it now.

What is the problem with sd-cards?


-- 
Best regards,
Vladimir




More information about the libvir-list mailing list