Add hw_handler to status. --- diff/drivers/md/dm-mpath.c 2004-10-29 15:38:54.000000000 +0100 +++ source/drivers/md/dm-mpath.c 2004-10-29 15:39:01.000000000 +0100 @@ -800,8 +800,10 @@ /* * Info string has the following format: + * num_handler_status_args [handler_status_args]* * num_groups [A|D|E num_paths num_selector_args [path_dev A|F fail_count [selector_args]* ]+ ]+ * + * num_handler_args hw_handler [hw_handler_args]* * Table string has the following format (identical to the constructor string): * num_groups [priority selector-name num_paths num_selector_args [path_dev [selector_args]* ]+ ]+ */ @@ -811,11 +813,19 @@ int sz = 0; unsigned long flags; struct multipath *m = (struct multipath *) ti->private; + struct hw_handler *hwh = &m->hw_handler; struct priority_group *pg; struct path *p; char buffer[32]; char state; + if (hwh && hwh->type->status) + sz += hwh->type->status(hwh, type, result + sz, maxlen = sz); + else if (type == STATUSTYPE_INFO) + DMEMIT("0 "); + else + DMEMIT("1 %s ", hwh->type->name); + DMEMIT("%u ", m->nr_priority_groups); switch (type) {