[Sheepdog] [PATCH 2/3] sheep: handle CPG_EVENT_REQUEST even if CPG_EVENT_DELIVER exists
Yibin Shen
kkbaal at gmail.com
Tue Sep 13 13:54:04 CEST 2011
if a CPG_EVENT_CONCHG event occured in the time window between a
CPG_EVENT_DELIVER & CPG_EVENT_REQUEST event pair(for example, a vdi lookup
operation followed by a vdi meta object read operation)
cluster will hang forever for the meta object read event be blocked.
Yibin Shen
On Fri, Sep 2, 2011 at 12:37 AM, MORITA Kazutaka <
morita.kazutaka at lab.ntt.co.jp> wrote:
> 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
>
> --
> sheepdog mailing list
> sheepdog at lists.wpkg.org
> http://lists.wpkg.org/mailman/listinfo/sheepdog
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.wpkg.org/pipermail/sheepdog/attachments/20110913/0840a7ca/attachment-0001.html>
More information about the sheepdog
mailing list