diff options
Diffstat (limited to 'fs/gfs2/glock.c')
-rw-r--r-- | fs/gfs2/glock.c | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/fs/gfs2/glock.c b/fs/gfs2/glock.c index 11066d8647d2..90af87ff29ba 100644 --- a/fs/gfs2/glock.c +++ b/fs/gfs2/glock.c | |||
@@ -1549,16 +1549,13 @@ static void glock_hash_walk(glock_examiner examiner, const struct gfs2_sbd *sdp) | |||
1549 | rhashtable_walk_enter(&gl_hash_table, &iter); | 1549 | rhashtable_walk_enter(&gl_hash_table, &iter); |
1550 | 1550 | ||
1551 | do { | 1551 | do { |
1552 | gl = ERR_PTR(rhashtable_walk_start(&iter)); | 1552 | rhashtable_walk_start(&iter); |
1553 | if (IS_ERR(gl)) | ||
1554 | goto walk_stop; | ||
1555 | 1553 | ||
1556 | while ((gl = rhashtable_walk_next(&iter)) && !IS_ERR(gl)) | 1554 | while ((gl = rhashtable_walk_next(&iter)) && !IS_ERR(gl)) |
1557 | if (gl->gl_name.ln_sbd == sdp && | 1555 | if (gl->gl_name.ln_sbd == sdp && |
1558 | lockref_get_not_dead(&gl->gl_lockref)) | 1556 | lockref_get_not_dead(&gl->gl_lockref)) |
1559 | examiner(gl); | 1557 | examiner(gl); |
1560 | 1558 | ||
1561 | walk_stop: | ||
1562 | rhashtable_walk_stop(&iter); | 1559 | rhashtable_walk_stop(&iter); |
1563 | } while (cond_resched(), gl == ERR_PTR(-EAGAIN)); | 1560 | } while (cond_resched(), gl == ERR_PTR(-EAGAIN)); |
1564 | 1561 | ||
@@ -1947,7 +1944,7 @@ static void *gfs2_glock_seq_start(struct seq_file *seq, loff_t *pos) | |||
1947 | loff_t n = *pos; | 1944 | loff_t n = *pos; |
1948 | 1945 | ||
1949 | rhashtable_walk_enter(&gl_hash_table, &gi->hti); | 1946 | rhashtable_walk_enter(&gl_hash_table, &gi->hti); |
1950 | if (rhashtable_walk_start(&gi->hti) != 0) | 1947 | if (rhashtable_walk_start_check(&gi->hti) != 0) |
1951 | return NULL; | 1948 | return NULL; |
1952 | 1949 | ||
1953 | do { | 1950 | do { |