Lines Matching defs:path

12 #include "dm-path-selector.h"
44 struct dm_path path;
50 #define path_to_pgpath(__pgp) container_of((__pgp), struct pgpath, path)
54 * Each has a path selector which controls which path gets used.
124 #define MPATHF_QUEUE_IF_NO_PATH 1 /* Queue I/O if last path fails? */
184 dm_put_device(ti, pgpath->path.dev);
373 struct dm_path *path;
376 path = pg->ps.type->select_path(&pg->ps, nr_bytes);
377 if (!path)
380 pgpath = path_to_pgpath(path);
432 * Loop through priority groups until we find a valid path.
531 bdev = pgpath->path.dev->bdev;
559 &pgpath->path,
577 &pgpath->path,
652 bio_set_dev(bio, pgpath->path.dev->bdev);
657 &pgpath->path,
813 * An event is triggered whenever a path is taken out of use.
814 * Includes path failure and PG bypass.
831 * <#paths> <#per-path selector args>
832 * [<path> [<arg>]* ]+ ]+
842 {0, 1024, "invalid number of path selector args"},
847 ti->error = "unknown path selector type";
860 ti->error = "path selector constructor failed";
935 /* we need at least a path arg */
946 &p->path.dev);
952 q = bdev_get_queue(p->path.dev->bdev);
956 r = setup_scsi_dh(p->path.dev->bdev, m, &attached_handler_name, &ti->error);
959 dm_put_device(ti, p->path.dev);
964 r = ps->type->add_path(ps, &p->path, as->argc, as->argv, &ti->error);
966 dm_put_device(ti, p->path.dev);
1023 ti->error = "not enough path parameters";
1322 * Take a path out of use.
1334 DMWARN("%s: Failing path %s.",
1336 pgpath->path.dev->name);
1338 pgpath->pg->ps.type->fail_path(&pgpath->pg->ps, &pgpath->path);
1348 pgpath->path.dev->name, atomic_read(&m->nr_valid_paths));
1361 * Reinstate a previously-failed path
1375 DMWARN("%s: Reinstating path %s.",
1377 pgpath->path.dev->name);
1379 r = pgpath->pg->ps.type->reinstate_path(&pgpath->pg->ps, &pgpath->path);
1395 pgpath->path.dev->name, nr_valid_paths);
1424 if (pgpath->path.dev == dev)
1549 * Fail path for now, so we do not ping pong
1573 * We probably do not want to fail the path for a device
1618 struct request_queue *q = bdev_get_queue(pgpath->path.dev->bdev);
1676 ps->type->end_io(ps, &pgpath->path, mpio->nr_bytes,
1720 ps->type->end_io(ps, &pgpath->path, mpio->nr_bytes,
1729 * so if the last path fails we must error any remaining I/O.
1873 DMEMIT("%s %s %u ", p->path.dev->name,
1878 &p->path, type, result + sz,
1899 DMEMIT("%s ", p->path.dev->name);
1902 &p->path, type, result + sz,
1995 *bdev = pgpath->path.dev->bdev;
2002 /* No path is available */
2041 ret = fn(ti, p->path.dev, ti->begin, ti->len, data);
2053 struct request_queue *q = bdev_get_queue(pgpath->path.dev->bdev);
2106 * If there is one non-busy active path at least, the path selector
2122 * No active path in this pg, so this pg won't be used and
2173 * path of the storage hardware device activation.