[Sheepdog] [PATCH 2/3] sheep: handle CPG_EVENT_REQUEST even if CPG_EVENT_DELIVER exists
MORITA Kazutaka
morita.kazutaka at lab.ntt.co.jp
Thu Sep 1 18:37:51 CEST 2011
This patch prevents a CPG_EVENT_DELIVER event from blocking VM I/Os.
Signed-off-by: MORITA Kazutaka <morita.kazutaka at lab.ntt.co.jp>
---
sheep/group.c | 4 +++-
1 files changed, 3 insertions(+), 1 deletions(-)
diff --git a/sheep/group.c b/sheep/group.c
index 6690125..ab253a6 100644
--- a/sheep/group.c
+++ b/sheep/group.c
@@ -1487,7 +1487,9 @@ do_retry:
list_for_each_entry_safe(cevent, n, &sys->cpg_event_siblings, cpg_event_list) {
struct request *req = container_of(cevent, struct request, cev);
- if (cevent->ctype != CPG_EVENT_REQUEST)
+ if (cevent->ctype == CPG_EVENT_DELIVER)
+ continue;
+ if (cevent->ctype == CPG_EVENT_CONCHG)
break;
list_del(&cevent->cpg_event_list);
--
1.7.2.5
More information about the sheepdog
mailing list