On Mon, May 12, 2025 at 09:46:30AM +0100, Peter Maydell wrote: > On Fri, 9 May 2025 at 11:04, Thomas Huth <th...@redhat.com> wrote: > > Thanks for your clarifications, Zhao! But I think this shows again the > > problem that we have hit a couple of times in the past already: Properties > > are currently used for both, config knobs for the users and internal > > switches for configuration of the machine. We lack a proper way to say "this > > property is usable for the user" and "this property is meant for internal > > configuration only". > > > > I wonder whether we could maybe come up with a naming scheme to better > > distinguish the two sets, e.g. by using a prefix similar to the "x-" prefix > > for experimental properties? We could e.g. say that all properties starting > > with a "q-" are meant for QEMU-internal configuration only or something > > similar (and maybe even hide those from the default help output when running > > "-device xyz,help" ?)? Anybody any opinions or better ideas on this? > > I think a q-prefix is potentially a bit clunky unless we also have > infrastructure to say eg DEFINE_INTERNAL_PROP_BOOL("foo", ...) > and have it auto-add the prefix, and to have the C APIs for > setting properties search for both "foo" and "q-foo" so you > don't have to write qdev_prop_set_bit(dev, "q-foo", ...).
I think it is also not obvious enough that a 'q-' prefix means private. Perhaps borrow from the C world and declare that a leading underscore indicates a private property. People are more likely to understand and remember that, than 'q-'. With regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|