svn commit: r334254 - head/etc/rc.d
Edward Tomasz Napierala
trasz at FreeBSD.org
Sun May 27 10:48:22 UTC 2018
Author: trasz
Date: Sun May 27 10:48:21 2018
New Revision: 334254
URL: https://svnweb.freebsd.org/changeset/base/334254
Log:
Make the cfumass rc script support USB template 10.
MFC after: 2 weeks
Sponsored by: The FreeBSD Foundation
Modified:
head/etc/rc.d/cfumass
Modified: head/etc/rc.d/cfumass
==============================================================================
--- head/etc/rc.d/cfumass Sun May 27 06:47:09 2018 (r334253)
+++ head/etc/rc.d/cfumass Sun May 27 10:48:21 2018 (r334254)
@@ -45,7 +45,7 @@ remove_luns()
cfumass_start()
{
- local err _files _template
+ local err _files _template _new_template
if [ ! -d "${cfumass_dir}" ]; then
warn "${cfumass_dir} does not exist"
@@ -90,36 +90,59 @@ cfumass_start()
fi
fi
+ # Set the template number based on the current one.
_template=`sysctl -n hw.usb.template`
- if [ "${_template}" -lt 0 ]; then
- sysctl hw.usb.template=0 > /dev/null
+ case "${_template}" in
+ -1)
+ _new_template="0"
+ ;;
+ 8)
+ _new_template="10"
+ ;;
+ *)
+ warn "hw.usb.template sysctl set to neither -1 nor 8; not changing"
+ _new_template=""
+ ;;
+ esac
+
+ if [ -n "${_new_template}" ]; then
+ sysctl hw.usb.template="${_new_template}" > /dev/null
err=$?
if [ "${err}" -ne 0 ]; then
- warn "unable to set hw.usb.template sysctl"
+ warn "unable to set hw.usb.template sysctl to ${_new_template}"
return "${err}"
fi
- else
- # Otherwise don't touch the sysctl - we could lock the user
- # out of the machine otherwise.
- warn "hw.usb.template sysctl set to neither -1 nor 0"
fi
}
cfumass_stop()
{
- local err _template
+ local err _template _new_template
+ remove_luns
+
_template=`sysctl -n hw.usb.template`
- if [ "${_template}" -eq 0 ]; then
- sysctl hw.usb.template=-1 > /dev/null
+ case "${_template}" in
+ 0)
+ _new_template="-1"
+ ;;
+ 10)
+ _new_template="8"
+ ;;
+ *)
+ warn "hw.usb.template sysctl set to neither 0 nor 10; not changing"
+ _new_template=""
+ ;;
+ esac
+
+ if [ -n "${_new_template}" ]; then
+ sysctl hw.usb.template="${_new_template}" > /dev/null
err=$?
if [ "${err}" -ne 0 ]; then
- warn "unable to set hw.usb.template sysctl"
+ warn "unable to set hw.usb.template sysctl to ${_new_template}"
return "${err}"
fi
fi
-
- remove_luns
}
load_rc_config $name
More information about the svn-src-all
mailing list