[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v2 31/45] block: Clean up bdrv_flush_all()
From: |
Markus Armbruster |
Subject: |
[Qemu-devel] [PATCH v2 31/45] block: Clean up bdrv_flush_all() |
Date: |
Wed, 3 Aug 2011 15:08:10 +0200 |
Change (!bdrv_is_removable(bs) || bdrv_is_inserted(bs)) to just
bdrv_is_inserted(). Rationale:
The value of bdrv_is_removable(bs) matters only when
bdrv_is_inserted(bs) is false.
bdrv_is_inserted(bs) is true when bs is open (bs->drv != NULL) and
not an empty host drive (CD-ROM or floppy).
Therefore, bdrv_is_removable(bs) matters only when:
1. bs is not open
old: may call bdrv_flush(bs), which does nothing
new: won't call
2. bs is an empty host drive
old: may call bdrv_flush(bs), which calls driver method
raw_flush(), which calls fdatasync() or equivalent, which
can't do anything useful while the drive is empty
new: won't call
Result is bs->drv && !bdrv_is_read_only(bs) && bdrv_is_inserted(bs).
bdrv_is_inserted(bs) implies bs->drv. Drop the redundant test.
Signed-off-by: Markus Armbruster <address@hidden>
---
block.c | 3 +--
1 files changed, 1 insertions(+), 2 deletions(-)
diff --git a/block.c b/block.c
index f4f320e..1ff42b5 100644
--- a/block.c
+++ b/block.c
@@ -1721,8 +1721,7 @@ void bdrv_flush_all(void)
BlockDriverState *bs;
QTAILQ_FOREACH(bs, &bdrv_states, list) {
- if (bs->drv && !bdrv_is_read_only(bs) &&
- (!bdrv_is_removable(bs) || bdrv_is_inserted(bs))) {
+ if (!bdrv_is_read_only(bs) && bdrv_is_inserted(bs)) {
bdrv_flush(bs);
}
}
--
1.7.6
- [Qemu-devel] [PATCH v2 41/45] block: New bdrv_set_buffer_alignment(), (continued)
- [Qemu-devel] [PATCH v2 41/45] block: New bdrv_set_buffer_alignment(), Markus Armbruster, 2011/08/03
- [Qemu-devel] [PATCH v2 30/45] fdc: Make media change detection more robust, Markus Armbruster, 2011/08/03
- [Qemu-devel] [PATCH v2 44/45] block: New change_media_cb() parameter load, Markus Armbruster, 2011/08/03
- [Qemu-devel] [PATCH v2 27/45] scsi-disk: Preserve tray state on migration, Markus Armbruster, 2011/08/03
- [Qemu-devel] [PATCH v2 28/45] block/raw: Fix to forward method bdrv_media_changed(), Markus Armbruster, 2011/08/03
- [Qemu-devel] [PATCH v2 38/45] block: Move BlockConf & friends from block_int.h to block.h, Markus Armbruster, 2011/08/03
- [Qemu-devel] [PATCH v2 43/45] nbd: Clean up use of block_int.h, Markus Armbruster, 2011/08/03
- [Qemu-devel] [PATCH v2 31/45] block: Clean up bdrv_flush_all(),
Markus Armbruster <=
- [Qemu-devel] [PATCH v2 17/45] block: Leave enforcing tray lock to device models, Markus Armbruster, 2011/08/03
- [Qemu-devel] [PATCH v2 18/45] block: Drop medium lock tracking, ask device models instead, Markus Armbruster, 2011/08/03
- [Qemu-devel] [PATCH v2 35/45] block: Clean up remaining users of "removable", Markus Armbruster, 2011/08/03
- [Qemu-devel] [PATCH v2 37/45] block: Show whether the guest ejected the medium in info block, Markus Armbruster, 2011/08/03
- [Qemu-devel] [PATCH v2 23/45] scsi-disk: Fix START_STOP to fail when it can't eject, Markus Armbruster, 2011/08/03
- [Qemu-devel] [PATCH v2 40/45] block: Declare qemu_blockalign() in block.h, not block_int.h, Markus Armbruster, 2011/08/03