lkml.org 
[lkml]   [2007]   [Feb]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Subject[DLM] saved dlm message can be dropped [41/54]
    From
    Date
    >From 24b7195b114b8003274b02dd0c35fb73e75155d2 Mon Sep 17 00:00:00 2001
    From: David Teigland <teigland@redhat.com>
    Date: Wed, 24 Jan 2007 10:11:45 -0600
    Subject: [PATCH] [DLM] saved dlm message can be dropped

    dlm_receive_message() returns 0 instead of returning 'error'. What would
    happen is that process_requestqueue would take a saved message off the
    requestqueue and call receive_message on it. receive_message would then
    see that recovery had been aborted, set error to EINTR, and 'goto out',
    expecting that the error would be returned. Instead, 0 was always
    returned, so process_requestqueue would think that the message had been
    processed and delete it instead of saving it to process next time. This
    means the message (usually an unlock in my tests) would be lost.

    Signed-off-by: David Teigland <teigland@redhat.com>
    Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>

    diff --git a/fs/dlm/lock.c b/fs/dlm/lock.c
    index 6ad2b8e..7c7ac2a 100644
    --- a/fs/dlm/lock.c
    +++ b/fs/dlm/lock.c
    @@ -3018,7 +3018,7 @@ int dlm_receive_message(struct dlm_header *hd, int nodeid, int recovery)
    {
    struct dlm_message *ms = (struct dlm_message *) hd;
    struct dlm_ls *ls;
    - int error;
    + int error = 0;

    if (!recovery)
    dlm_message_in(ms);
    @@ -3135,7 +3135,7 @@ int dlm_receive_message(struct dlm_header *hd, int nodeid, int recovery)
    out:
    dlm_put_lockspace(ls);
    dlm_astd_wake();
    - return 0;
    + return error;
    }


    --
    1.4.4.2


    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2007-02-05 15:35    [W:5.724 / U:0.060 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site