On 30.10.25 20:19, Peter Xu wrote:
> On Thu, Oct 30, 2025 at 01:14:22PM -0400, Peter Xu wrote:
>> On Wed, Oct 29, 2025 at 02:13:24AM +0300, Vladimir Sementsov-Ogievskiy wrote:
>>> Hi all!
>>>
>>> That's a proof-of-concept for converting vmstate_load/save_state
>>> to have boolean error value, to fixup this analysis
>>> https://lore.kernel.org/qemu-devel/aQDdRn8t0B8oE3gf@x1.local/
>>> in code.
>>>
>>> As many of .get / .set handlers call vmstate_load/save_state,
>>> let's convert them too, it not too much.
>>>
>>> And finally, while touching each file, let's also use
>>> new pre/post _errp() APIs.
>>>
>>> So, this series propagate a lot of errors through errp, which
>>> were simply printed out before.
>>>
>>> Why it is an RFC:
>>> 1. I didn't yet double check the accuracy of all patches
>>> 2. Maybe, commit messages need to be more detailed, maybe they
>>> need more arguments about correctness of the change
>>> 3. Maybe, it's better first merge new generic interfaces, and
>>> than send per-maintainer small series, to avoid this huge
>>> series, depending on many maintainers.
>>>
>>> So, I don't include in CC many maintainers now, to get a first
>>> look from Markus and Peter.
>>
>> It's still good to collect more opinions on especially rfc series, even if
>> the list doesn't need to include maintainers for each device. I added
>> Fabiano and Dan too.
>>
>>>
>>> What do you think?
>>
>> In general.. I liked it. :) Thanks for trying it.
>
> Oh wait, so this is still not the full list of what needs to be done?
> After I applied your patchset, I still see:
>
> $ git grep -E "\.get | \.set " | wc -l
> 214
>
> Some of them are outliers but most of them look not.. :(
>
I think, they are qdev properties, not VMStateInfo. In this series I do
remove old .get / .set interfaces, and compilation still works for me..
Maybe some modules are not included into my build config? Unfortunately yes:
> git grep -A 5 'VMStateInfo .* = {' | grep '\.get' | awk '{print $1}' | sort | uniq
hw/usb/redirect.c-
target/alpha/machine.c-
target/arm/machine.c-
target/avr/machine.c-
target/hppa/machine.c-
target/microblaze/machine.c-
target/mips/system/machine.c-
target/openrisc/machine.c-
target/ppc/machine.c-
target/sparc/machine.c-
That's 10 more commits. And the whole series would be 32, involving many people..
I think, I'll resend only migration/* commits as "part I", except for 20/22 (to save
old interfaces too), and then other parts in separate smaller series.
--
Best regards,
Vladimir