Return error in case of invalid arguments. This invalid command returns an "Unknown error" because the ti->error field is not set echo 0 `blockdev --getsize /dev/mapper/loop-mp` multipath 0 0 1 1 round-robin 0 1 1 /dev/mapper/mp-linear-1 |dmsetup create multi Signed-off-by: Mikulas Patocka --- drivers/md/dm-mpath.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) Index: linux-2.6.25.3/drivers/md/dm-mpath.c =================================================================== --- linux-2.6.25.3.orig/drivers/md/dm-mpath.c 2008-05-14 01:24:52.000000000 +0200 +++ linux-2.6.25.3/drivers/md/dm-mpath.c 2008-05-14 01:26:26.000000000 +0200 @@ -629,8 +629,10 @@ static struct priority_group *parse_prio struct pgpath *pgpath; struct arg_set path_args; - if (as->argc < nr_params) + if (as->argc < nr_params) { + ti->error = "not enough path parameters"; goto bad; + } path_args.argc = nr_params; path_args.argv = as->argv;