Add initial PG number to table.
--- diff/drivers/md/dm-mpath.c	2005-01-12 19:17:54.000000000 +0000
+++ source/drivers/md/dm-mpath.c	2005-01-12 19:18:03.000000000 +0000
@@ -408,6 +408,7 @@
  * <#multipath feature args> [<arg>]*
  * <#hw_handler args> [hw_handler [<arg>]*]
  * <#priority groups> 
+ * <initial priority group>
  *     [<selector> <#selector args> [<arg>]*
  *      <#paths> <#per-path selector args> 
  *         [<path> [<arg>]* ]+ ]+
@@ -665,12 +666,14 @@
 	/* target parameters */
 	static struct param _params[] = {
 		{1, 1024, ESTR("invalid number of priority groups")},
+		{1, 1024, ESTR("invalid initial priority group number")},
 	};
 
 	int r;
 	struct multipath *m;
 	struct arg_set as;
 	unsigned pg_count = 0;
+	unsigned next_pg_num;
 
 	as.argc = argc;
 	as.argv = argv;
@@ -693,9 +696,14 @@
 	if (r)
 		goto bad;
 
+	r = read_param(_params + 1, shift(&as), &next_pg_num, &ti->error);
+	if (r)
+		goto bad;
+
 	/* parse the priority groups */
 	while (as.argc) {
 		struct priority_group *pg;
+
 		pg = parse_priority_group(&as, m, ti);
 		if (!pg) {
 			r = -EINVAL;
@@ -705,6 +713,8 @@
 		m->nr_valid_paths += pg->nr_paths;
 		list_add_tail(&pg->list, &m->priority_groups);
 		pg_count++;
+		if (!--next_pg_num)
+			m->next_pg = pg;
 	}
 
 	if (pg_count != m->nr_priority_groups) {
