gfs2: Fix "ignore unlock failures after withdraw"
[linux-2.6-block.git] / fs / gfs2 / glock.c
index fa047331ea3c52c7ba4518d32c0aa9bf249cfc60..ec1f8eb28950937988bc006569ba7937d4f02e6b 100644 (file)
@@ -810,11 +810,13 @@ skip_inval:
        }
 
        if (sdp->sd_lockstruct.ls_ops->lm_lock) {
+               struct lm_lockstruct *ls = &sdp->sd_lockstruct;
+
                /* lock_dlm */
                ret = sdp->sd_lockstruct.ls_ops->lm_lock(gl, target, lck_flags);
                if (ret == -EINVAL && gl->gl_target == LM_ST_UNLOCKED &&
                    target == LM_ST_UNLOCKED &&
-                   test_bit(SDF_SKIP_DLM_UNLOCK, &sdp->sd_flags)) {
+                   test_bit(DFL_UNMOUNT, &ls->ls_recover_flags)) {
                        finish_xmote(gl, target);
                        gfs2_glock_queue_work(gl, 0);
                } else if (ret) {