All of lore.kernel.org
 help / color / mirror / Atom feed
From: Max Reitz <mreitz@redhat.com>
To: qemu-block@nongnu.org
Cc: qemu-devel@nongnu.org, Max Reitz <mreitz@redhat.com>,
	Kevin Wolf <kwolf@redhat.com>, Alberto Garcia <berto@igalia.com>
Subject: [Qemu-devel] [PATCH v4 7/9] block: Assert !bs->refcnt in bdrv_close()
Date: Tue, 17 May 2016 16:41:32 +0200	[thread overview]
Message-ID: <1463496094-21608-8-git-send-email-mreitz@redhat.com> (raw)
In-Reply-To: <1463496094-21608-1-git-send-email-mreitz@redhat.com>

The only caller of bdrv_close() left is bdrv_delete(). We may as well
assert that, in a way (there are some things in bdrv_close() that make
more sense under that assumption, such as the call to
bdrv_release_all_dirty_bitmaps() which in turn assumes that no frozen
bitmaps are attached to the BDS).

In addition, being called only in bdrv_delete() means that we can drop
bdrv_close()'s forward declaration at the top of block.c.

Signed-off-by: Max Reitz <mreitz@redhat.com>
Reviewed-by: Alberto Garcia <berto@igalia.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
---
 block.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/block.c b/block.c
index 5693787..7efc61c 100644
--- a/block.c
+++ b/block.c
@@ -74,8 +74,6 @@ static BlockDriverState *bdrv_open_inherit(const char *filename,
 /* If non-zero, use only whitelisted block drivers */
 static int use_bdrv_whitelist;
 
-static void bdrv_close(BlockDriverState *bs);
-
 #ifdef _WIN32
 static int is_windows_drive_prefix(const char *filename)
 {
@@ -2110,6 +2108,7 @@ static void bdrv_close(BlockDriverState *bs)
     BdrvAioNotifier *ban, *ban_next;
 
     assert(!bs->job);
+    assert(!bs->refcnt);
 
     bdrv_drained_begin(bs); /* complete I/O */
     bdrv_flush(bs);
-- 
2.8.2

  parent reply	other threads:[~2016-05-17 14:42 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-05-17 14:41 [Qemu-devel] [PATCH v4 0/9] blockdev: (Nearly) free clean-up work Max Reitz
2016-05-17 14:41 ` [Qemu-devel] [PATCH v4 1/9] block: Drop useless bdrv_new() call Max Reitz
2016-05-17 15:23   ` Eric Blake
2016-05-17 14:41 ` [Qemu-devel] [PATCH v4 2/9] block: Let bdrv_open_inherit() return the snapshot Max Reitz
2016-05-17 14:41 ` [Qemu-devel] [PATCH v4 3/9] tests: Drop BDS from test-throttle.c Max Reitz
2016-05-17 14:41 ` [Qemu-devel] [PATCH v4 4/9] block: Drop blk_new_with_bs() Max Reitz
2016-05-17 14:41 ` [Qemu-devel] [PATCH v4 5/9] block: Drop bdrv_new_root() Max Reitz
2016-05-17 14:41 ` [Qemu-devel] [PATCH v4 6/9] block: Make bdrv_open() return a BDS Max Reitz
2016-05-17 14:41 ` Max Reitz [this message]
2016-05-17 14:41 ` [Qemu-devel] [PATCH v4 8/9] block: Drop bdrv_parent_cb_...() from bdrv_close() Max Reitz
2016-05-17 14:41 ` [Qemu-devel] [PATCH v4 9/9] block: Drop errp parameter from blk_new() Max Reitz
2016-05-23 11:09 ` [Qemu-devel] [PATCH v4 0/9] blockdev: (Nearly) free clean-up work Kevin Wolf

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1463496094-21608-8-git-send-email-mreitz@redhat.com \
    --to=mreitz@redhat.com \
    --cc=berto@igalia.com \
    --cc=kwolf@redhat.com \
    --cc=qemu-block@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.