Lines Matching refs:pi
69 struct path_info *pi, *next; in ql_free_paths() local
71 list_for_each_entry_safe(pi, next, paths, list) { in ql_free_paths()
72 list_del(&pi->list); in ql_free_paths()
73 kfree(pi); in ql_free_paths()
91 struct path_info *pi; in ql_status() local
97 pi = path->pscontext; in ql_status()
101 DMEMIT("%d ", atomic_read(&pi->qlen)); in ql_status()
104 DMEMIT("%u ", pi->repeat_count); in ql_status()
119 struct path_info *pi; in ql_add_path() local
145 pi = kmalloc(sizeof(*pi), GFP_KERNEL); in ql_add_path()
146 if (!pi) { in ql_add_path()
151 pi->path = path; in ql_add_path()
152 pi->repeat_count = repeat_count; in ql_add_path()
153 atomic_set(&pi->qlen, 0); in ql_add_path()
155 path->pscontext = pi; in ql_add_path()
158 list_add_tail(&pi->list, &s->valid_paths); in ql_add_path()
167 struct path_info *pi = path->pscontext; in ql_fail_path() local
171 list_move(&pi->list, &s->failed_paths); in ql_fail_path()
178 struct path_info *pi = path->pscontext; in ql_reinstate_path() local
182 list_move_tail(&pi->list, &s->valid_paths); in ql_reinstate_path()
194 struct path_info *pi = NULL, *best = NULL; in ql_select_path() local
202 list_for_each_entry(pi, &s->valid_paths, list) { in ql_select_path()
204 (atomic_read(&pi->qlen) < atomic_read(&best->qlen))) in ql_select_path()
205 best = pi; in ql_select_path()
226 struct path_info *pi = path->pscontext; in ql_start_io() local
228 atomic_inc(&pi->qlen); in ql_start_io()
236 struct path_info *pi = path->pscontext; in ql_end_io() local
238 atomic_dec(&pi->qlen); in ql_end_io()