[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

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

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".


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););

Cluster Project

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]