Lines Matching refs:gi
2301 static void gfs2_glock_iter_next(struct gfs2_glock_iter *gi, loff_t n) in gfs2_glock_iter_next() argument
2303 struct gfs2_glock *gl = gi->gl; in gfs2_glock_iter_next()
2312 gl = rhashtable_walk_next(&gi->hti); in gfs2_glock_iter_next()
2321 if (gl->gl_name.ln_sbd != gi->sdp) in gfs2_glock_iter_next()
2333 gi->gl = gl; in gfs2_glock_iter_next()
2339 struct gfs2_glock_iter *gi = seq->private; in gfs2_glock_seq_start() local
2346 if (*pos < gi->last_pos) { in gfs2_glock_seq_start()
2347 rhashtable_walk_exit(&gi->hti); in gfs2_glock_seq_start()
2348 rhashtable_walk_enter(&gl_hash_table, &gi->hti); in gfs2_glock_seq_start()
2351 n = *pos - gi->last_pos; in gfs2_glock_seq_start()
2354 rhashtable_walk_start(&gi->hti); in gfs2_glock_seq_start()
2356 gfs2_glock_iter_next(gi, n); in gfs2_glock_seq_start()
2357 gi->last_pos = *pos; in gfs2_glock_seq_start()
2358 return gi->gl; in gfs2_glock_seq_start()
2364 struct gfs2_glock_iter *gi = seq->private; in gfs2_glock_seq_next() local
2367 gi->last_pos = *pos; in gfs2_glock_seq_next()
2368 gfs2_glock_iter_next(gi, 1); in gfs2_glock_seq_next()
2369 return gi->gl; in gfs2_glock_seq_next()
2375 struct gfs2_glock_iter *gi = seq->private; in gfs2_glock_seq_stop() local
2377 rhashtable_walk_stop(&gi->hti); in gfs2_glock_seq_stop()
2437 struct gfs2_glock_iter *gi = seq->private; in __gfs2_glocks_open() local
2439 gi->sdp = inode->i_private; in __gfs2_glocks_open()
2447 gi->last_pos = -1; in __gfs2_glocks_open()
2448 gi->gl = NULL; in __gfs2_glocks_open()
2449 rhashtable_walk_enter(&gl_hash_table, &gi->hti); in __gfs2_glocks_open()
2462 struct gfs2_glock_iter *gi = seq->private; in gfs2_glocks_release() local
2464 if (gi->gl) in gfs2_glocks_release()
2465 gfs2_glock_put(gi->gl); in gfs2_glocks_release()
2466 rhashtable_walk_exit(&gi->hti); in gfs2_glocks_release()