Pass bdev to path selector so it can take account of device characteristics
if it wishes.
--- diff/drivers/md/dm-mpath.c	2004-09-29 14:05:07.000000000 +0100
+++ source/drivers/md/dm-mpath.c	2004-09-29 14:04:10.000000000 +0100
@@ -321,7 +321,8 @@
 		goto bad;
 	}
 
-	r = ps->type->add_path(ps, p, as->argc, as->argv, &ti->error);
+	r = ps->type->add_path(ps, p, p->dev->bdev, as->argc, as->argv,
+			       &ti->error);
 	if (r) {
 		dm_put_device(ti, p->dev);
 		goto bad;
--- diff/drivers/md/dm-path-selector.h	2004-09-29 14:05:07.000000000 +0100
+++ source/drivers/md/dm-path-selector.h	2004-09-29 14:03:29.000000000 +0100
@@ -38,6 +38,7 @@
  */
 typedef	int (*ps_add_path_fn) (struct path_selector *ps,
 			       struct path *path,
+			       struct block_device *bdev,
 			       int argc, char **argv, char **error);
 
 /*
--- diff/drivers/md/dm-roundrobin.c	2004-09-29 14:05:07.000000000 +0100
+++ source/drivers/md/dm-roundrobin.c	2004-09-29 14:04:30.000000000 +0100
@@ -95,6 +95,7 @@
 
 /* Path add context */
 static int rr_add_path(struct path_selector *ps, struct path *path,
+		       struct block_device *bdev,
 		       int argc, char **argv, char **error)
 {
 	struct selector *s = (struct selector *) ps->context;
