qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 0/1] qom: fix setting of qdev array properties


From: Markus Armbruster
Subject: Re: [PATCH 0/1] qom: fix setting of qdev array properties
Date: Thu, 07 Sep 2023 11:45:09 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux)

Daniel P. Berrangé <berrange@redhat.com> writes:

> By the time of the 8.2.0 release, it will have been 2 years and 6
> releases since we accidentally broke setting of array properties
> for user creatable devices:
>
>   https://gitlab.com/qemu-project/qemu/-/issues/1090
>
> Some context:
>
> * Initial identification / report on the mailing list
>
>    https://lists.gnu.org/archive/html/qemu-devel/2022-07/msg00111.html
>
> * Sub-thread of that exploring the background on need/use of array
>   properties:
>
>    https://lists.gnu.org/archive/html/qemu-devel/2022-07/msg01531.html
>
> * Markus' initial PoC for an order preserving QDict impl
>
>    https://lists.gnu.org/archive/html/qemu-devel/2022-07/msg00758.html
>
> * A later (unrelated?) patch for order preserving QDict impl
>
>    https://lists.gnu.org/archive/html/qemu-devel/2023-05/msg03229.html
>
> * A re-posting of the new patch
>
>    https://lists.gnu.org/archive/html/qemu-devel/2023-09/msg00292.html
>
> Personally I'm not a fan of the introducing the order preserving QDict
> impl, because I feel that the need to preserve QDict ordering is a
> design bug. Not that I think the current ordering when iterating over
> QDict is in any way special. I just rather see the ordering left as
> "undefined" and any callers that need a specific ordering should apply
> what they need.

QDict preserving order was never intended to be part of the interface.
But then Hyrum's Law kicked in.

Since it's been broken for so long, we now have a chance to kick it back
out.

However, if we want an order-preserving hash table (stress on *if*!), be
it for QDict or other uses: do it the elegant way it's done in Python.
Fun little project, but I couldn't justify the expense of doing it.

[...]




reply via email to

[Prev in Thread] Current Thread [Next in Thread]