mirror of
https://github.com/qemu/qemu.git
synced 2024-12-04 09:13:39 +08:00
qapi transaction: Elide redundant has_FOO in generated C
The has_FOO for pointer-valued FOO are redundant, except for arrays. They are also a nuisance to work with. Recent commit "qapi: Start to elide redundant has_FOO in generated C" provided the means to elide them step by step. This is the step for qapi/transaction.json. Said commit explains the transformation in more detail. The invariant violations mentioned there do not occur here. In qmp_transaction(), we can't just drop parameter @has_props, since it's used to track whether @props needs to be freed. Replace it by a local variable. Cc: Kevin Wolf <kwolf@redhat.com> Cc: Hanna Reitz <hreitz@redhat.com> Cc: qemu-block@nongnu.org Signed-off-by: Markus Armbruster <armbru@redhat.com> Message-Id: <20221104160712.3005652-27-armbru@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
This commit is contained in:
parent
ced2939685
commit
238e9202a2
@ -1048,7 +1048,7 @@ static void blockdev_do_action(TransactionAction *action, Error **errp)
|
|||||||
|
|
||||||
list.value = action;
|
list.value = action;
|
||||||
list.next = NULL;
|
list.next = NULL;
|
||||||
qmp_transaction(&list, false, NULL, errp);
|
qmp_transaction(&list, NULL, errp);
|
||||||
}
|
}
|
||||||
|
|
||||||
void qmp_blockdev_snapshot_sync(const char *device, const char *node_name,
|
void qmp_blockdev_snapshot_sync(const char *device, const char *node_name,
|
||||||
@ -2289,11 +2289,11 @@ static TransactionProperties *get_transaction_properties(
|
|||||||
* Always run under BQL.
|
* Always run under BQL.
|
||||||
*/
|
*/
|
||||||
void qmp_transaction(TransactionActionList *dev_list,
|
void qmp_transaction(TransactionActionList *dev_list,
|
||||||
bool has_props,
|
|
||||||
struct TransactionProperties *props,
|
struct TransactionProperties *props,
|
||||||
Error **errp)
|
Error **errp)
|
||||||
{
|
{
|
||||||
TransactionActionList *dev_entry = dev_list;
|
TransactionActionList *dev_entry = dev_list;
|
||||||
|
bool has_props = !!props;
|
||||||
JobTxn *block_job_txn = NULL;
|
JobTxn *block_job_txn = NULL;
|
||||||
BlkActionState *state, *next;
|
BlkActionState *state, *next;
|
||||||
Error *local_err = NULL;
|
Error *local_err = NULL;
|
||||||
|
@ -759,7 +759,6 @@ class QAPISchemaObjectTypeMember(QAPISchemaMember):
|
|||||||
assert self.type
|
assert self.type
|
||||||
# Temporary hack to support dropping the has_FOO in reviewable chunks
|
# Temporary hack to support dropping the has_FOO in reviewable chunks
|
||||||
opt_out = [
|
opt_out = [
|
||||||
'qapi/transaction.json',
|
|
||||||
'qapi/ui.json',
|
'qapi/ui.json',
|
||||||
'qapi/virtio.json',
|
'qapi/virtio.json',
|
||||||
'qga/qapi-schema.json']
|
'qga/qapi-schema.json']
|
||||||
|
Loading…
Reference in New Issue
Block a user