Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 10 Oct 2010 20:48:24 -0700
From:      Garrett Cooper <gcooper@FreeBSD.org>
To:        rc@FreeBSD.org
Subject:   [PATCH] /etc/rc.d/mdconfig improvements
Message-ID:  <AANLkTikEmEJ1fGAQWC_nFk0-DU6kY0hWSqq39YvBAeHN@mail.gmail.com>

next in thread | raw e-mail | index | archive | help

[-- Attachment #1 --]
Hi RC folks,
    I was looking at /etc/rc.d/mdconfig* recently, and I thought of
two improvements that could be done to the scripts:
    1. It's not overly intuitive from the rc.conf manpage that the
memory disks need to be defined in /etc/fstab, so I added an error to
coach people on what to do
    2. There was also a missing guard for around a ${_file} reference
where if I did...

/dev/md0                /scratch                cd9660     rw
    0       0
/dev/md1                /scratch2              ufs     rw              0       0

mdconfig_md0="-f /scratch/disk.img -t vnode"
mdconfig_md1="-t swap -s 1M"

    ... it would check test for ${_file} twice and fail the second
time. The check is benign in most cases, but for completeness it
should be fixed as shown above.
    Could someone please commit the attached patch for me, if no one
objects to the change proposed?
Thanks,
-Garrett

[-- Attachment #2 --]
Index: etc/rc.d/mdconfig
===================================================================
--- etc/rc.d/mdconfig	(revision 213680)
+++ etc/rc.d/mdconfig	(working copy)
@@ -146,6 +146,8 @@
 			if mount -d ${_dev} 2>&1 >/dev/null; then
 				echo "Mounting ${_dev}."
 				mount ${_dev}
+			else
+				err 1 "Mountpoint for ${_dev} not defined in /etc/fstab"
 			fi
 		fi
 	done
Index: etc/rc.d/mdconfig2
===================================================================
--- etc/rc.d/mdconfig2	(revision 213680)
+++ etc/rc.d/mdconfig2	(working copy)
@@ -113,9 +113,11 @@
 
 	for _md in ${_mdconfig2_list}; do
 		init_variables ${_md}
-		if [ ! -r ${_file} ]; then
-			err 3 "${_file} doesn't exist"
-			continue
+		if [ "${type}" = "vnode" ]; then
+			if [ ! -r "${_file}" ]; then
+				err 3 "${_file} doesn't exist"
+				continue
+			fi
 		fi
 		# First pass: create md(4) vnode devices from files stored on
 		# non-root partition. Swap and malloc md(4) devices have already

Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?AANLkTikEmEJ1fGAQWC_nFk0-DU6kY0hWSqq39YvBAeHN>