Lines Matching refs:gi
2570 static void gfs2_glock_iter_next(struct gfs2_glock_iter *gi, loff_t n) in gfs2_glock_iter_next() argument
2572 struct gfs2_glock *gl = gi->gl; in gfs2_glock_iter_next()
2581 gl = rhashtable_walk_next(&gi->hti); in gfs2_glock_iter_next()
2590 if (gl->gl_name.ln_sbd != gi->sdp) in gfs2_glock_iter_next()
2602 gi->gl = gl; in gfs2_glock_iter_next()
2608 struct gfs2_glock_iter *gi = seq->private; in gfs2_glock_seq_start() local
2615 if (*pos < gi->last_pos) { in gfs2_glock_seq_start()
2616 rhashtable_walk_exit(&gi->hti); in gfs2_glock_seq_start()
2617 rhashtable_walk_enter(&gl_hash_table, &gi->hti); in gfs2_glock_seq_start()
2620 n = *pos - gi->last_pos; in gfs2_glock_seq_start()
2623 rhashtable_walk_start(&gi->hti); in gfs2_glock_seq_start()
2625 gfs2_glock_iter_next(gi, n); in gfs2_glock_seq_start()
2626 gi->last_pos = *pos; in gfs2_glock_seq_start()
2627 return gi->gl; in gfs2_glock_seq_start()
2633 struct gfs2_glock_iter *gi = seq->private; in gfs2_glock_seq_next() local
2636 gi->last_pos = *pos; in gfs2_glock_seq_next()
2637 gfs2_glock_iter_next(gi, 1); in gfs2_glock_seq_next()
2638 return gi->gl; in gfs2_glock_seq_next()
2644 struct gfs2_glock_iter *gi = seq->private; in gfs2_glock_seq_stop() local
2646 rhashtable_walk_stop(&gi->hti); in gfs2_glock_seq_stop()
2706 struct gfs2_glock_iter *gi = seq->private; in __gfs2_glocks_open() local
2708 gi->sdp = inode->i_private; in __gfs2_glocks_open()
2716 gi->last_pos = -1; in __gfs2_glocks_open()
2717 gi->gl = NULL; in __gfs2_glocks_open()
2718 rhashtable_walk_enter(&gl_hash_table, &gi->hti); in __gfs2_glocks_open()
2731 struct gfs2_glock_iter *gi = seq->private; in gfs2_glocks_release() local
2733 if (gi->gl) in gfs2_glocks_release()
2734 gfs2_glock_put(gi->gl); in gfs2_glocks_release()
2735 rhashtable_walk_exit(&gi->hti); in gfs2_glocks_release()