diff --git a/src/etc/rc.subr.d/var b/src/etc/rc.subr.d/var index 21ffc6c9c..19e1ce7c4 100755 --- a/src/etc/rc.subr.d/var +++ b/src/etc/rc.subr.d/var @@ -1,7 +1,7 @@ #!/bin/sh # Copyright (C) 2019 Deciso B.V. -# Copyright (c) 2014-2020 Franco Fichtner +# Copyright (c) 2014-2021 Franco Fichtner # Copyright (c) 2004-2010 Scott Ullrich # Copyright (c) 2003-2004 Manuel Kasper # @@ -33,32 +33,30 @@ ROOTDIR="/root" setup_mfs_link() { ROOT=${ROOTDIR} - MFS=$(dirname ${1}) - NAME=$(basename ${1}) + MFS=${1} - # Create dummy directory to for MFS-bound + # Create dummy directory for MFS-bound # directories that require a persistent # storage underneath to run. - if [ ! -d "${ROOT}${MFS}/${NAME}" ]; then - mkdir -p "${ROOT}${MFS}" "${MFS}/${NAME}" - mv "${MFS}/${NAME}" "${ROOT}${MFS}" - # create a symlink underneath as well - ln -s "${ROOT}${MFS}/${NAME}" "${MFS}/${NAME}" + if [ ! -d "${ROOT}${MFS}" ]; then + mkdir -p "${ROOT}${MFS}" "${MFS}" + for DIR in $(find "${MFS}" -depth 1); do + mv "${DIR}" "${ROOT}${MFS}/" + done fi } install_mfs_link() { ROOT=${ROOTDIR} - MFS=$(dirname ${1}) - NAME=$(basename ${1}) + MFS=${1} # Redirect persistent, but MFS-bound # directory after tmpfs mount. - mkdir -p "${MFS}" - ln -s "${ROOT}${MFS}/${NAME}" "${MFS}/${NAME}" + mkdir -p "$(dirname ${MFS})" + ln -s "${ROOT}${MFS}" "${MFS}" } remove_mfs_link()