Lines Matching refs:gi
2323 static void gfs2_glock_iter_next(struct gfs2_glock_iter *gi, loff_t n) in gfs2_glock_iter_next() argument
2325 struct gfs2_glock *gl = gi->gl; in gfs2_glock_iter_next()
2334 gl = rhashtable_walk_next(&gi->hti); in gfs2_glock_iter_next()
2343 if (gl->gl_name.ln_sbd != gi->sdp) in gfs2_glock_iter_next()
2355 gi->gl = gl; in gfs2_glock_iter_next()
2361 struct gfs2_glock_iter *gi = seq->private; in gfs2_glock_seq_start() local
2368 if (*pos < gi->last_pos) { in gfs2_glock_seq_start()
2369 rhashtable_walk_exit(&gi->hti); in gfs2_glock_seq_start()
2370 rhashtable_walk_enter(&gl_hash_table, &gi->hti); in gfs2_glock_seq_start()
2373 n = *pos - gi->last_pos; in gfs2_glock_seq_start()
2376 rhashtable_walk_start(&gi->hti); in gfs2_glock_seq_start()
2378 gfs2_glock_iter_next(gi, n); in gfs2_glock_seq_start()
2379 gi->last_pos = *pos; in gfs2_glock_seq_start()
2380 return gi->gl; in gfs2_glock_seq_start()
2386 struct gfs2_glock_iter *gi = seq->private; in gfs2_glock_seq_next() local
2389 gi->last_pos = *pos; in gfs2_glock_seq_next()
2390 gfs2_glock_iter_next(gi, 1); in gfs2_glock_seq_next()
2391 return gi->gl; in gfs2_glock_seq_next()
2397 struct gfs2_glock_iter *gi = seq->private; in gfs2_glock_seq_stop() local
2399 rhashtable_walk_stop(&gi->hti); in gfs2_glock_seq_stop()
2459 struct gfs2_glock_iter *gi = seq->private; in __gfs2_glocks_open() local
2461 gi->sdp = inode->i_private; in __gfs2_glocks_open()
2469 gi->last_pos = -1; in __gfs2_glocks_open()
2470 gi->gl = NULL; in __gfs2_glocks_open()
2471 rhashtable_walk_enter(&gl_hash_table, &gi->hti); in __gfs2_glocks_open()
2484 struct gfs2_glock_iter *gi = seq->private; in gfs2_glocks_release() local
2486 if (gi->gl) in gfs2_glocks_release()
2487 gfs2_glock_put(gi->gl); in gfs2_glocks_release()
2488 rhashtable_walk_exit(&gi->hti); in gfs2_glocks_release()