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

[Cluster-devel] Cluster Project branch, RHEL46, updated. cman-kernel_2_6_9_54-13-g1728dd2

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, RHEL46 has been updated
       via  1728dd23f74b9d01df5146e9b405c3149b896bc7 (commit)
      from  d47add8e2cee5bd9fa50584f4d72650aa727d55c (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 1728dd23f74b9d01df5146e9b405c3149b896bc7
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>
    bz 440665 (for 4.6.z)


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]