On 12/16/2011 04:05 PM, Anthony Liguori wrote:
What are the uses of null in qdev string properties? I know you can't
set a string to null since parse() doesn't have a null syntax. So we're
really just talking about an uninitialized state, right?
Yes. No ROM BAR is an example of a NULL string property.
So it's really filenames and backend names, right? Can we just treat
empty strings like NULL? I think all of the various bits handles both
the same way.
The only case I can think of when it differs is serial numbers. An empty serial
number is different from no serial number (which means do not expose one at
all).
However, DEFINE_PROP_STRING does not allow setting a default, and some device
models rely on a NULL value as a default. I see two ways out: 1) add nullable
strings; 2) merge without this patch, knowing qom-get is kind-of broken, and
proceed adding a default to all DEFINE_PROP_STRING; this would be a merge
nightmare for you.