block: Simplify append_open_options()
This function returns a BDS's driver-specific options, excluding also those from its children. Since we have just removed all children options from bs->options there's no need to do this last step. We allow references to children, though ("backing": "node0"), so those we still have to remove. Signed-off-by: Alberto Garcia <berto@igalia.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
This commit is contained in:
parent
4c8350fe17
commit
261dbcb18f
7
block.c
7
block.c
@ -5150,16 +5150,13 @@ static bool append_open_options(QDict *d, BlockDriverState *bs)
|
|||||||
QemuOptDesc *desc;
|
QemuOptDesc *desc;
|
||||||
BdrvChild *child;
|
BdrvChild *child;
|
||||||
bool found_any = false;
|
bool found_any = false;
|
||||||
const char *p;
|
|
||||||
|
|
||||||
for (entry = qdict_first(bs->options); entry;
|
for (entry = qdict_first(bs->options); entry;
|
||||||
entry = qdict_next(bs->options, entry))
|
entry = qdict_next(bs->options, entry))
|
||||||
{
|
{
|
||||||
/* Exclude options for children */
|
/* Exclude node-name references to children */
|
||||||
QLIST_FOREACH(child, &bs->children, next) {
|
QLIST_FOREACH(child, &bs->children, next) {
|
||||||
if (strstart(qdict_entry_key(entry), child->name, &p)
|
if (!strcmp(entry->key, child->name)) {
|
||||||
&& (!*p || *p == '.'))
|
|
||||||
{
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user