Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

[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>

+1 -24
+1 -22
fs/gfs2/locking/dlm/lock.c
··· 80 80 { 81 81 struct gdlm_ls *ls = lp->ls; 82 82 struct lm_async_cb acb; 83 - s16 prev_mode = lp->cur; 84 83 85 84 memset(&acb, 0, sizeof(acb)); 86 85 ··· 159 160 lp->lksb.sb_status, lp->lockname.ln_type, 160 161 (unsigned long long)lp->lockname.ln_number, 161 162 lp->flags); 162 - if (lp->lksb.sb_status == -EDEADLOCK && 163 - lp->ls->fsflags & LM_MFLAG_CONV_NODROP) { 164 - lp->req = lp->cur; 165 - acb.lc_ret |= LM_OUT_CONV_DEADLK; 166 - if (lp->cur == DLM_LOCK_IV) 167 - lp->lksb.sb_lkid = 0; 168 - goto out; 169 - } else 170 - return; 163 + return; 171 164 } 172 165 173 166 /* ··· 258 267 259 268 acb.lc_name = lp->lockname; 260 269 acb.lc_ret |= gdlm_make_lmstate(lp->cur); 261 - 262 - if (!test_and_clear_bit(LFL_NOCACHE, &lp->flags) && 263 - (lp->cur > DLM_LOCK_NL) && (prev_mode > DLM_LOCK_NL)) 264 - acb.lc_ret |= LM_OUT_CACHEABLE; 265 270 266 271 ls->fscb(ls->sdp, LM_CB_ASYNC, &acb); 267 272 } ··· 363 376 364 377 if (lp->lksb.sb_lkid != 0) { 365 378 lkf |= DLM_LKF_CONVERT; 366 - 367 - /* Conversion deadlock avoidance by DLM */ 368 - 369 - if (!(lp->ls->fsflags & LM_MFLAG_CONV_NODROP) && 370 - !test_bit(LFL_FORCE_PROMOTE, &lp->flags) && 371 - !(lkf & DLM_LKF_NOQUEUE) && 372 - cur > DLM_LOCK_NL && req > DLM_LOCK_NL && cur != req) 373 - lkf |= DLM_LKF_CONVDEADLK; 374 379 } 375 380 376 381 if (lp->lvb)
-2
include/linux/lm_interface.h
··· 122 122 */ 123 123 124 124 #define LM_OUT_ST_MASK 0x00000003 125 - #define LM_OUT_CACHEABLE 0x00000004 126 125 #define LM_OUT_CANCELED 0x00000008 127 126 #define LM_OUT_ASYNC 0x00000080 128 127 #define LM_OUT_ERROR 0x00000100 129 - #define LM_OUT_CONV_DEADLK 0x00000200 130 128 131 129 /* 132 130 * lm_callback_t types