function _generateIONiceCommand
{
local vdir=$1
- local ionice_class=2
- local ionice_priority=0
+ local ionice_class=
+ local ionice_priority=
test -n "$_IONICE" || return 0
test -r "$vdir/ionice/class" && read ionice_class <"$vdir"/ionice/class
test -r "$vdir/ionice/priority" && read ionice_priority <"$vdir"/ionice/priority
- IONICE_CMD=( $_IONICE -c$ionice_class -n$ionice_priority )
+ test -n "$ionice_class$ionice_priority" || return 0
+
+ if test -z "$ionice_class" -a -n "$ionice_priority"; then
+ IONICE_CMD=( $_IONICE -c2 -n"$ionice_priority" )
+ else
+ IONICE_CMD=( $_IONICE ${ionice_class:+-c$ionice_class} ${ionice_priority:+-n$ionice_priority} )
+ fi
}
function _generatePersonalityOptions
_readFileToArray "$vdir"/bcapabilities OPTS_VATTRIBUTE --bcap
}
+function _generateUMaskOptions
+{
+ local vdir=$1
+
+ _readFileToArray "$vdir"/umask OPTS_VATTRIBUTE --umask
+}
+
function _generateCapabilityOptions
{
local vdir=$1
_generateCapabilityOptions "$vdir"
_generateFlagOptions "$vdir"
+ _generateUMaskOptions "$vdir"
CHCONTEXT_OPTS=( $SILENT_OPT \
"${CHCONTEXT_FLAG_OPTS[@]}" \
pushd "$1/vdir" >/dev/null
case "$INITSTYLE" in
sysv)
- { $_FIND var/run ! -type d -print0; \
- $_FIND var/lock ! -type d -print0; } | xargs -0r $_CHROOT_SH rm
+ local -a dirs=( $($_CHROOT_SH realpath /var/run /var/lock | $_SED 's!^/*!!' || :) )
+ local dir
+ for dir in "${dirs[@]}"; do
+ $_FIND $dir ! -type d -print0 | xargs -0r $_CHROOT_SH rm
+ done
;;
plain)
$_CHROOT_SH rm .autofsck forcefsck 2>/dev/null || :