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

[Cluster-devel] Cluster Project branch, RHEL47, updated. gfs-kernel_2_6_9_76-52-g4565fc4

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, RHEL47 has been updated
       via  4565fc4f11ec6af1498cd60d787fd584b6a949a0 (commit)
      from  71f39467f02f161b1af03fe36a2fe4aac2488ee2 (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 4565fc4f11ec6af1498cd60d787fd584b6a949a0
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]