[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [RFC PATCH v2 1/3] close all the block drivers before the q
From: |
MORITA Kazutaka |
Subject: |
[Qemu-devel] [RFC PATCH v2 1/3] close all the block drivers before the qemu process exits |
Date: |
Fri, 14 May 2010 18:51:14 +0900 |
This patch calls the close handler of the block driver before the qemu
process exits.
This is necessary because the sheepdog block driver releases the lock
of VM images in the close handler.
Signed-off-by: MORITA Kazutaka <address@hidden>
---
block.c | 9 +++++++++
block.h | 1 +
vl.c | 1 +
3 files changed, 11 insertions(+), 0 deletions(-)
diff --git a/block.c b/block.c
index c134c2b..988a94a 100644
--- a/block.c
+++ b/block.c
@@ -641,6 +641,15 @@ void bdrv_close(BlockDriverState *bs)
}
}
+void bdrv_close_all(void)
+{
+ BlockDriverState *bs;
+
+ QTAILQ_FOREACH(bs, &bdrv_states, list) {
+ bdrv_close(bs);
+ }
+}
+
void bdrv_delete(BlockDriverState *bs)
{
/* remove from list, if necessary */
diff --git a/block.h b/block.h
index 278259c..531e802 100644
--- a/block.h
+++ b/block.h
@@ -121,6 +121,7 @@ BlockDriverAIOCB *bdrv_aio_ioctl(BlockDriverState *bs,
/* Ensure contents are flushed to disk. */
void bdrv_flush(BlockDriverState *bs);
void bdrv_flush_all(void);
+void bdrv_close_all(void);
int bdrv_has_zero_init(BlockDriverState *bs);
int bdrv_is_allocated(BlockDriverState *bs, int64_t sector_num, int nb_sectors,
diff --git a/vl.c b/vl.c
index 85bcc84..5ce7807 100644
--- a/vl.c
+++ b/vl.c
@@ -2007,6 +2007,7 @@ static void main_loop(void)
exit(0);
}
}
+ bdrv_close_all();
pause_all_vcpus();
}
--
1.5.6.5
- [Qemu-devel] Re: [RFC PATCH 1/2] close all the block drivers before the qemu process exits, (continued)
[Qemu-devel] [RFC PATCH v2 2/3] block: call the snapshot handlers of the protocol drivers, MORITA Kazutaka, 2010/05/14
[Qemu-devel] [RFC PATCH v2 1/3] close all the block drivers before the qemu process exits,
MORITA Kazutaka <=
[Qemu-devel] [RFC PATCH v2 0/3] Sheepdog: distributed storage system for QEMU, MORITA Kazutaka, 2010/05/14
[Qemu-devel] [RFC PATCH v3 0/3] Sheepdog: distributed storage system for QEMU, MORITA Kazutaka, 2010/05/17
[Qemu-devel] [RFC PATCH v3 1/3] close all the block drivers before the qemu process exits, MORITA Kazutaka, 2010/05/17
[Qemu-devel] [RFC PATCH v3 3/3] block: add sheepdog driver for distributed storage support, MORITA Kazutaka, 2010/05/17
[Qemu-devel] [RFC PATCH v2 3/3] block: add sheepdog driver for distributed storage support, MORITA Kazutaka, 2010/05/14