Commit:     8fd3a98f2c22982aff4d29e4ee72959d3032c123
Parent:     f1f1c1ccf7848a6e25db30ee9216e1a1e7eb6bef
Author:     David Teigland <[EMAIL PROTECTED]>
AuthorDate: Wed Jan 24 10:11:45 2007 -0600
Committer:  Steven Whitehouse <[EMAIL PROTECTED]>
CommitDate: Mon Feb 5 13:37:47 2007 -0500

    [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 <[EMAIL PROTECTED]>
    Signed-off-by: Steven Whitehouse <[EMAIL PROTECTED]>
 fs/dlm/lock.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

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)
@@ -3135,7 +3135,7 @@ int dlm_receive_message(struct dlm_header *hd, int 
nodeid, int recovery)
-       return 0;
+       return error;
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at

Reply via email to