[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 14/31] block: Clean up bdrv_flush_all()
From: |
Kevin Wolf |
Subject: |
[Qemu-devel] [PATCH 14/31] block: Clean up bdrv_flush_all() |
Date: |
Tue, 6 Sep 2011 17:39:29 +0200 |
From: Markus Armbruster <address@hidden>
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>
Signed-off-by: Kevin Wolf <address@hidden>
---
block.c | 3 +--
1 files changed, 1 insertions(+), 2 deletions(-)
diff --git a/block.c b/block.c
index 2158f83..487a6a9 100644
--- a/block.c
+++ b/block.c
@@ -1753,8 +1753,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 06/31] block: Generalize change_cb() to BlockDevOps, (continued)
- [Qemu-devel] [PATCH 06/31] block: Generalize change_cb() to BlockDevOps, Kevin Wolf, 2011/09/06
- [Qemu-devel] [PATCH 08/31] ide: Update command code definitions as per ACS-2 Table B.2, Kevin Wolf, 2011/09/06
- [Qemu-devel] [PATCH 07/31] block: Split change_cb() into change_media_cb(), resize_cb(), Kevin Wolf, 2011/09/06
- [Qemu-devel] [PATCH 09/31] ide: Clean up case label indentation in ide_exec_cmd(), Kevin Wolf, 2011/09/06
- [Qemu-devel] [PATCH 11/31] block/raw: Fix to forward method bdrv_media_changed(), Kevin Wolf, 2011/09/06
- [Qemu-devel] [PATCH 10/31] ide: Give vmstate structs internal linkage where possible, Kevin Wolf, 2011/09/06
- [Qemu-devel] [PATCH 17/31] spitz tosa: Simplify "drive is suitable for microdrive" test, Kevin Wolf, 2011/09/06
- [Qemu-devel] [PATCH 12/31] block: Leave tracking media change to device models, Kevin Wolf, 2011/09/06
- [Qemu-devel] [PATCH 14/31] block: Clean up bdrv_flush_all(),
Kevin Wolf <=
- [Qemu-devel] [PATCH 13/31] fdc: Make media change detection more robust, Kevin Wolf, 2011/09/06
- [Qemu-devel] [PATCH 15/31] savevm: Include writable devices with removable media, Kevin Wolf, 2011/09/06
- [Qemu-devel] [PATCH 20/31] VMDK: add twoGbMaxExtentSparse support, Kevin Wolf, 2011/09/06
- [Qemu-devel] [PATCH 16/31] xen: Clean up pci_piix3_xen_ide_unplug()'s test for "not a CD", Kevin Wolf, 2011/09/06
- [Qemu-devel] [PATCH 22/31] VMDK: Opening compressed extent., Kevin Wolf, 2011/09/06
- [Qemu-devel] [PATCH 23/31] VMDK: read/write compressed extent, Kevin Wolf, 2011/09/06
- [Qemu-devel] [PATCH 21/31] VMDK: separate vmdk_read_extent/vmdk_write_extent, Kevin Wolf, 2011/09/06
- [Qemu-devel] [PATCH 19/31] VMDK: enable twoGbMaxExtentFlat, Kevin Wolf, 2011/09/06
- [Qemu-devel] [PATCH 25/31] VMDK: bugfix, open Haiku vmdk image, Kevin Wolf, 2011/09/06
- [Qemu-devel] [PATCH 24/31] VMDK: creating streamOptimized subformat, Kevin Wolf, 2011/09/06