[GFS2] Remove obsolete conversion deadlock avoidance code

This is only used by GFS1 so can be removed.

Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
This commit is contained in:
Steven Whitehouse 2008-06-03 14:34:14 +01:00
parent 1bdad60633
commit b2cad26cfc
2 changed files with 1 additions and 24 deletions

View file

@ -80,7 +80,6 @@ static void process_complete(struct gdlm_lock *lp)
{ {
struct gdlm_ls *ls = lp->ls; struct gdlm_ls *ls = lp->ls;
struct lm_async_cb acb; struct lm_async_cb acb;
s16 prev_mode = lp->cur;
memset(&acb, 0, sizeof(acb)); memset(&acb, 0, sizeof(acb));
@ -160,15 +159,7 @@ static void process_complete(struct gdlm_lock *lp)
lp->lksb.sb_status, lp->lockname.ln_type, lp->lksb.sb_status, lp->lockname.ln_type,
(unsigned long long)lp->lockname.ln_number, (unsigned long long)lp->lockname.ln_number,
lp->flags); lp->flags);
if (lp->lksb.sb_status == -EDEADLOCK && return;
lp->ls->fsflags & LM_MFLAG_CONV_NODROP) {
lp->req = lp->cur;
acb.lc_ret |= LM_OUT_CONV_DEADLK;
if (lp->cur == DLM_LOCK_IV)
lp->lksb.sb_lkid = 0;
goto out;
} else
return;
} }
/* /*
@ -268,10 +259,6 @@ static void process_complete(struct gdlm_lock *lp)
acb.lc_name = lp->lockname; acb.lc_name = lp->lockname;
acb.lc_ret |= gdlm_make_lmstate(lp->cur); acb.lc_ret |= gdlm_make_lmstate(lp->cur);
if (!test_and_clear_bit(LFL_NOCACHE, &lp->flags) &&
(lp->cur > DLM_LOCK_NL) && (prev_mode > DLM_LOCK_NL))
acb.lc_ret |= LM_OUT_CACHEABLE;
ls->fscb(ls->sdp, LM_CB_ASYNC, &acb); ls->fscb(ls->sdp, LM_CB_ASYNC, &acb);
} }
@ -376,14 +363,6 @@ static inline unsigned int make_flags(struct gdlm_lock *lp,
if (lp->lksb.sb_lkid != 0) { if (lp->lksb.sb_lkid != 0) {
lkf |= DLM_LKF_CONVERT; lkf |= DLM_LKF_CONVERT;
/* Conversion deadlock avoidance by DLM */
if (!(lp->ls->fsflags & LM_MFLAG_CONV_NODROP) &&
!test_bit(LFL_FORCE_PROMOTE, &lp->flags) &&
!(lkf & DLM_LKF_NOQUEUE) &&
cur > DLM_LOCK_NL && req > DLM_LOCK_NL && cur != req)
lkf |= DLM_LKF_CONVDEADLK;
} }
if (lp->lvb) if (lp->lvb)

View file

@ -122,11 +122,9 @@ typedef void (*lm_callback_t) (void *ptr, unsigned int type, void *data);
*/ */
#define LM_OUT_ST_MASK 0x00000003 #define LM_OUT_ST_MASK 0x00000003
#define LM_OUT_CACHEABLE 0x00000004
#define LM_OUT_CANCELED 0x00000008 #define LM_OUT_CANCELED 0x00000008
#define LM_OUT_ASYNC 0x00000080 #define LM_OUT_ASYNC 0x00000080
#define LM_OUT_ERROR 0x00000100 #define LM_OUT_ERROR 0x00000100
#define LM_OUT_CONV_DEADLK 0x00000200
/* /*
* lm_callback_t types * lm_callback_t types