From nobody@FreeBSD.org  Sun May 25 10:11:37 2014
Return-Path: <nobody@FreeBSD.org>
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
	(using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
	(No client certificate requested)
	by hub.freebsd.org (Postfix) with ESMTPS id 8394BF40
	for <freebsd-gnats-submit@FreeBSD.org>; Sun, 25 May 2014 10:11:37 +0000 (UTC)
Received: from cgiserv.freebsd.org (cgiserv.freebsd.org [IPv6:2001:1900:2254:206a::50:4])
	(using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits))
	(Client did not present a certificate)
	by mx1.freebsd.org (Postfix) with ESMTPS id 7109C21CE
	for <freebsd-gnats-submit@FreeBSD.org>; Sun, 25 May 2014 10:11:37 +0000 (UTC)
Received: from cgiserv.freebsd.org ([127.0.1.6])
	by cgiserv.freebsd.org (8.14.8/8.14.8) with ESMTP id s4PABaat043239
	for <freebsd-gnats-submit@FreeBSD.org>; Sun, 25 May 2014 10:11:36 GMT
	(envelope-from nobody@cgiserv.freebsd.org)
Received: (from nobody@localhost)
	by cgiserv.freebsd.org (8.14.8/8.14.8/Submit) id s4PABabl043236;
	Sun, 25 May 2014 10:11:36 GMT
	(envelope-from nobody)
Message-Id: <201405251011.s4PABabl043236@cgiserv.freebsd.org>
Date: Sun, 25 May 2014 10:11:36 GMT
From: Kuang-che Wu <kcwu@csie.org>
To: freebsd-gnats-submit@FreeBSD.org
Subject: mdconfig unit name handling in rc
X-Send-Pr-Version: www-3.1
X-GNATS-Notify:

>Number:         190200
>Category:       conf
>Synopsis:       mdconfig unit name handling in rc
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-bugs
>State:          open
>Quarter:
>Keywords:
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sun May 25 10:20:00 UTC 2014
>Closed-Date:
>Last-Modified:
>Originator:     Kuang-che Wu
>Release:        11.0-CURRENT
>Organization:
>Environment:
FreeBSD kcwu.csie.org 11.0-CURRENT FreeBSD 11.0-CURRENT #1 3bde90f(master): Sat May 17 17:26:09 CST 2014     root@kcwu.csie.org:/usr/obj/usr/src/sys/DESKTOP  amd64

>Description:
/etc/rc.d/mdconfig supports mdconfig unit name detection.

(line 194)
if [ -z "${_mdconfig_list}" ]; then
        for _mdconfig_config in `list_vars mdconfig_md[0-9]\* |

However, it treats all md[0-9]* as mdconfig unit even for extra parameters.
For example, "mdconfig_md0_perms" will be recognized as unit "md0_perms".

This will produce error messages during boot. But seems harmless.

>How-To-Repeat:
mdconfig_md0="-t swap -s 512m"
mdconfig_md0_perms="1777"

Following is boot error message:

Creating md0 device (swap).
Mounting /dev/md0.
Creating md0_perms device (1777).
usage: mdconfig -a -t type [-n] [-o [no]option] ... [-f file]
                [-s size] [-S sectorsize] [-u unit]
                [-x sectors/track] [-y heads/cylinder]
       mdconfig -d -u unit [-o [no]force]
       mdconfig -r -u unit -s size [-o [no]force]
       mdconfig -l [-v] [-n] [-f file] [-u unit]
       mdconfig file
           type = {malloc, vnode, swap}
           option = {cluster, compress, reserve}
           size = %d (512 byte blocks), %db (B),
                  %dk (kB), %dm (MB), %dg (GB) or
                  %dt (TB)
Creating md0_perms device failed, moving on.

>Fix:


>Release-Note:
>Audit-Trail:
>Unformatted:
