conf/190200: mdconfig unit name handling in rc

Kuang-che Wu kcwu at
Sun May 25 10:20:01 UTC 2014

>Number:         190200
>Category:       conf
>Synopsis:       mdconfig unit name handling in rc
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-bugs
>State:          open
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sun May 25 10:20:00 UTC 2014
>Originator:     Kuang-che Wu
>Release:        11.0-CURRENT
FreeBSD 11.0-CURRENT FreeBSD 11.0-CURRENT #1 3bde90f(master): Sat May 17 17:26:09 CST 2014     root at  amd64

/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.

mdconfig_md0="-t swap -s 512m"

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.



More information about the freebsd-bugs mailing list