diff options
Diffstat (limited to 'fs/gfs2/glock.c')
-rw-r--r-- | fs/gfs2/glock.c | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/fs/gfs2/glock.c b/fs/gfs2/glock.c index 159a5479c4e4..e668808b127f 100644 --- a/fs/gfs2/glock.c +++ b/fs/gfs2/glock.c | |||
@@ -947,8 +947,8 @@ static void gfs2_glock_drop_th(struct gfs2_glock *gl) | |||
947 | const struct gfs2_glock_operations *glops = gl->gl_ops; | 947 | const struct gfs2_glock_operations *glops = gl->gl_ops; |
948 | unsigned int ret; | 948 | unsigned int ret; |
949 | 949 | ||
950 | if (glops->go_drop_th) | 950 | if (glops->go_xmote_th) |
951 | glops->go_drop_th(gl); | 951 | glops->go_xmote_th(gl); |
952 | 952 | ||
953 | gfs2_assert_warn(sdp, test_bit(GLF_LOCK, &gl->gl_flags)); | 953 | gfs2_assert_warn(sdp, test_bit(GLF_LOCK, &gl->gl_flags)); |
954 | gfs2_assert_warn(sdp, list_empty(&gl->gl_holders)); | 954 | gfs2_assert_warn(sdp, list_empty(&gl->gl_holders)); |
@@ -1252,12 +1252,11 @@ void gfs2_glock_dq(struct gfs2_holder *gh) | |||
1252 | list_del_init(&gh->gh_list); | 1252 | list_del_init(&gh->gh_list); |
1253 | 1253 | ||
1254 | if (list_empty(&gl->gl_holders)) { | 1254 | if (list_empty(&gl->gl_holders)) { |
1255 | spin_unlock(&gl->gl_spin); | 1255 | if (glops->go_unlock) { |
1256 | 1256 | spin_unlock(&gl->gl_spin); | |
1257 | if (glops->go_unlock) | ||
1258 | glops->go_unlock(gh); | 1257 | glops->go_unlock(gh); |
1259 | 1258 | spin_lock(&gl->gl_spin); | |
1260 | spin_lock(&gl->gl_spin); | 1259 | } |
1261 | gl->gl_stamp = jiffies; | 1260 | gl->gl_stamp = jiffies; |
1262 | } | 1261 | } |
1263 | 1262 | ||