block: Allow bdrv_unref_child(bs, NULL)

bdrv_unref() can be called with a NULL argument and doesn't do anything
then. Make bdrv_unref_child() consistent with it.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Jeff Cody <jcody@redhat.com>
This commit is contained in:
Kevin Wolf 2015-10-13 14:09:44 +02:00
parent 8e419aefa0
commit 779020cbdc

View File

@ -1104,12 +1104,17 @@ static void bdrv_detach_child(BdrvChild *child)
void bdrv_unref_child(BlockDriverState *parent, BdrvChild *child) void bdrv_unref_child(BlockDriverState *parent, BdrvChild *child)
{ {
BlockDriverState *child_bs = child->bs; BlockDriverState *child_bs;
if (child == NULL) {
return;
}
if (child->bs->inherits_from == parent) { if (child->bs->inherits_from == parent) {
child->bs->inherits_from = NULL; child->bs->inherits_from = NULL;
} }
child_bs = child->bs;
bdrv_detach_child(child); bdrv_detach_child(child);
bdrv_unref(child_bs); bdrv_unref(child_bs);
} }