Lines Matching refs:pi
66 struct path_info *pi, *next; in ql_free_paths() local
68 list_for_each_entry_safe(pi, next, paths, list) { in ql_free_paths()
69 list_del(&pi->list); in ql_free_paths()
70 kfree(pi); in ql_free_paths()
88 struct path_info *pi; in ql_status() local
94 pi = path->pscontext; in ql_status()
98 DMEMIT("%d ", atomic_read(&pi->qlen)); in ql_status()
101 DMEMIT("%u ", pi->repeat_count); in ql_status()
113 struct path_info *pi; in ql_add_path() local
133 pi = kmalloc(sizeof(*pi), GFP_KERNEL); in ql_add_path()
134 if (!pi) { in ql_add_path()
139 pi->path = path; in ql_add_path()
140 pi->repeat_count = repeat_count; in ql_add_path()
141 atomic_set(&pi->qlen, 0); in ql_add_path()
143 path->pscontext = pi; in ql_add_path()
145 list_add_tail(&pi->list, &s->valid_paths); in ql_add_path()
153 struct path_info *pi = path->pscontext; in ql_fail_path() local
155 list_move(&pi->list, &s->failed_paths); in ql_fail_path()
161 struct path_info *pi = path->pscontext; in ql_reinstate_path() local
163 list_move_tail(&pi->list, &s->valid_paths); in ql_reinstate_path()
175 struct path_info *pi = NULL, *best = NULL; in ql_select_path() local
183 list_for_each_entry(pi, &s->valid_paths, list) { in ql_select_path()
185 (atomic_read(&pi->qlen) < atomic_read(&best->qlen))) in ql_select_path()
186 best = pi; in ql_select_path()
203 struct path_info *pi = path->pscontext; in ql_start_io() local
205 atomic_inc(&pi->qlen); in ql_start_io()
213 struct path_info *pi = path->pscontext; in ql_end_io() local
215 atomic_dec(&pi->qlen); in ql_end_io()