Lines Matching refs:pi
68 struct path_info *pi, *next; in ql_free_paths() local
70 list_for_each_entry_safe(pi, next, paths, list) { in ql_free_paths()
71 list_del(&pi->list); in ql_free_paths()
72 kfree(pi); in ql_free_paths()
90 struct path_info *pi; in ql_status() local
96 pi = path->pscontext; in ql_status()
100 DMEMIT("%d ", atomic_read(&pi->qlen)); in ql_status()
103 DMEMIT("%u ", pi->repeat_count); in ql_status()
115 struct path_info *pi; in ql_add_path() local
141 pi = kmalloc(sizeof(*pi), GFP_KERNEL); in ql_add_path()
142 if (!pi) { in ql_add_path()
147 pi->path = path; in ql_add_path()
148 pi->repeat_count = repeat_count; in ql_add_path()
149 atomic_set(&pi->qlen, 0); in ql_add_path()
151 path->pscontext = pi; in ql_add_path()
154 list_add_tail(&pi->list, &s->valid_paths); in ql_add_path()
163 struct path_info *pi = path->pscontext; in ql_fail_path() local
167 list_move(&pi->list, &s->failed_paths); in ql_fail_path()
174 struct path_info *pi = path->pscontext; in ql_reinstate_path() local
178 list_move_tail(&pi->list, &s->valid_paths); in ql_reinstate_path()
190 struct path_info *pi = NULL, *best = NULL; in ql_select_path() local
198 list_for_each_entry(pi, &s->valid_paths, list) { in ql_select_path()
200 (atomic_read(&pi->qlen) < atomic_read(&best->qlen))) in ql_select_path()
201 best = pi; in ql_select_path()
222 struct path_info *pi = path->pscontext; in ql_start_io() local
224 atomic_inc(&pi->qlen); in ql_start_io()
232 struct path_info *pi = path->pscontext; in ql_end_io() local
234 atomic_dec(&pi->qlen); in ql_end_io()