Lines Matching defs:path
8 * Throughput oriented path selector.
12 #include "dm-path-selector.h"
32 struct dm_path *path;
82 static int st_status(struct path_selector *ps, struct dm_path *path,
88 if (!path)
91 pi = path->pscontext;
108 static int st_add_path(struct path_selector *ps, struct dm_path *path,
120 * <repeat_count>: The number of I/Os before switching path.
123 * the path among all paths in the path-group.
126 * If '0' is given, the path isn't selected while
152 /* allocate the path */
155 *error = "service-time ps: Error allocating path context";
159 pi->path = path;
164 path->pscontext = pi;
173 static void st_fail_path(struct path_selector *ps, struct dm_path *path)
176 struct path_info *pi = path->pscontext;
184 static int st_reinstate_path(struct path_selector *ps, struct dm_path *path)
187 struct path_info *pi = path->pscontext;
221 * Case 1: Both have same throughput value. Choose less loaded path.
227 * Case 2a: Both have same load. Choose higher throughput path.
228 * Case 2b: One path has no throughput value. Choose the other one.
235 * Case 3: Calculate service time. Choose faster path.
269 * Case 4: Service time is equal. Choose higher throughput path.
295 ret = best->path;
301 static int st_start_io(struct path_selector *ps, struct dm_path *path,
304 struct path_info *pi = path->pscontext;
311 static int st_end_io(struct path_selector *ps, struct dm_path *path,
314 struct path_info *pi = path->pscontext;
360 MODULE_DESCRIPTION(DM_NAME " throughput oriented path selector");