diff options
author | Max Reitz <mreitz@redhat.com> | 2016-01-29 16:36:08 +0100 |
---|---|---|
committer | Max Reitz <mreitz@redhat.com> | 2016-02-02 17:50:46 +0100 |
commit | 13855c6b9fa7f9d9e6d1f90377be0f678671073a (patch) | |
tree | 074c04d4d6d3f543f550ed19bf7cc3bf29df65a0 | |
parent | 033cb5659a1dce15643d2d5123615c26e24298ce (diff) |
block: Use blk_remove_bs() in blk_delete()
Signed-off-by: Max Reitz <mreitz@redhat.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Fam Zheng <famz@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
-rw-r--r-- | block/block-backend.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/block/block-backend.c b/block/block-backend.c index 621787cdb0..7f5ad59858 100644 --- a/block/block-backend.c +++ b/block/block-backend.c @@ -166,10 +166,7 @@ static void blk_delete(BlockBackend *blk) assert(!blk->refcnt); assert(!blk->dev); if (blk->bs) { - assert(blk->bs->blk == blk); - blk->bs->blk = NULL; - bdrv_unref(blk->bs); - blk->bs = NULL; + blk_remove_bs(blk); } assert(QLIST_EMPTY(&blk->remove_bs_notifiers.notifiers)); assert(QLIST_EMPTY(&blk->insert_bs_notifiers.notifiers)); @@ -351,6 +348,8 @@ void blk_hide_on_behalf_of_hmp_drive_del(BlockBackend *blk) */ void blk_remove_bs(BlockBackend *blk) { + assert(blk->bs->blk == blk); + notifier_list_notify(&blk->remove_bs_notifiers, blk); blk_update_root_state(blk); |