fail_refresh:
        ip->i_iopen_gh.gh_flags |= GL_NOCACHE;
        ip->i_iopen_gh.gh_gl->gl_object = NULL;
-       gfs2_glock_dq_wait(&ip->i_iopen_gh);
-       gfs2_holder_uninit(&ip->i_iopen_gh);
+       gfs2_glock_dq_uninit(&ip->i_iopen_gh);
 fail_put:
        if (io_gl)
                gfs2_glock_put(io_gl);
 
        error = gfs2_glock_nq_init(ip->i_gl, LM_ST_EXCLUSIVE, GL_SKIP, &gh);
        if (unlikely(error)) {
                ip->i_iopen_gh.gh_flags |= GL_NOCACHE;
-               gfs2_glock_dq_wait(&ip->i_iopen_gh);
-               gfs2_holder_uninit(&ip->i_iopen_gh);
+               gfs2_glock_dq_uninit(&ip->i_iopen_gh);
                goto out;
        }
 
        if (gfs2_holder_initialized(&ip->i_iopen_gh)) {
                if (test_bit(HIF_HOLDER, &ip->i_iopen_gh.gh_iflags)) {
                        ip->i_iopen_gh.gh_flags |= GL_NOCACHE;
-                       gfs2_glock_dq_wait(&ip->i_iopen_gh);
+                       gfs2_glock_dq(&ip->i_iopen_gh);
                }
                gfs2_holder_uninit(&ip->i_iopen_gh);
        }
        if (gfs2_holder_initialized(&ip->i_iopen_gh)) {
                ip->i_iopen_gh.gh_gl->gl_object = NULL;
                ip->i_iopen_gh.gh_flags |= GL_NOCACHE;
-               gfs2_glock_dq_wait(&ip->i_iopen_gh);
-               gfs2_holder_uninit(&ip->i_iopen_gh);
+               gfs2_glock_dq_uninit(&ip->i_iopen_gh);
        }
 }