Cluster Project branch, RHEL4, updated. gfs-kernel_2_6_9_76-52-g82270e2

teigland@sourceware.org teigland@sourceware.org
Mon May 5 18:43:00 GMT 2008


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Cluster Project".

http://sources.redhat.com/git/gitweb.cgi?p=cluster.git;a=commitdiff;h=82270e2e03d662a31e7372fa1abfcbd65feb30a7

The branch, RHEL4 has been updated
       via  82270e2e03d662a31e7372fa1abfcbd65feb30a7 (commit)
      from  60e3a142329558117f4ed4ebeb48deb496ecf0d6 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 82270e2e03d662a31e7372fa1abfcbd65feb30a7
Author: David Teigland <teigland@redhat.com>
Date:   Mon May 5 13:43:16 2008 -0500

    lock_dlm: ignore dlm EBUSY on plock unlock
    
    bz 432707
    
    The previous commit for this bug didn't resolve all the cases of
    EBUSY assertions from plock unlocks.  As suggested in the previous
    commit message, this patch just ignores -EBUSY errors returned for
    plock unlocks instead of asserting.
    
    Signed-off-by: David Teigland <teigland@redhat.com>

-----------------------------------------------------------------------

Summary of changes:
 gfs-kernel/src/dlm/lock.c |   12 ++++++++++--
 1 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/gfs-kernel/src/dlm/lock.c b/gfs-kernel/src/dlm/lock.c
index bd71c2c..2528314 100644
--- a/gfs-kernel/src/dlm/lock.c
+++ b/gfs-kernel/src/dlm/lock.c
@@ -354,8 +354,16 @@ void do_dlm_unlock(dlm_lock_t *lp)
 
 	error = dlm_unlock(lp->dlm->gdlm_lsp, lp->lksb.sb_lkid, lkf, NULL, lp);
 
-	
-	DLM_ASSERT(!error || (plock && error == -EINPROGRESS),
+	if (plock) {
+		if (error == -EINPROGRESS || error == -EBUSY) {
+			log_all("do_dlm_unlock %x,%"PRIx64" flags %lx error %d",
+				lp->lockname.ln_type, lp->lockname.ln_number,
+				lp->flags, error);
+			return;
+		}
+	}
+
+	DLM_ASSERT(!error,
 		   printk("%s: error=%d num=%x,%"PRIx64" lkf=%x flags=%lx\n",
 			  lp->dlm->fsname, error, lp->lockname.ln_type,
 			  lp->lockname.ln_number, lp->lkf, lp->flags););


hooks/post-receive
--
Cluster Project



More information about the Cluster-cvs mailing list