[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v2 2/2] qapi: deprecate implicit filters
From: |
Vladimir Sementsov-Ogievskiy |
Subject: |
Re: [PATCH v2 2/2] qapi: deprecate implicit filters |
Date: |
Fri, 8 Nov 2019 13:56:03 +0000 |
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 <address@hidden>
>> ---
>> 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
>>
>> +@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