X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/52993b922e683b5f97139aa06f003e879018319d..a186e3031eebfb86e0ee43250fc4e1a91ca2f890:/package/block-mount/files/fstab.init?ds=sidebyside diff --git a/package/block-mount/files/fstab.init b/package/block-mount/files/fstab.init index d755eccf0..a3e0338f4 100644 --- a/package/block-mount/files/fstab.init +++ b/package/block-mount/files/fstab.init @@ -8,8 +8,6 @@ START=20 -. /lib/functions/mount.sh - do_mount() { local cfg="$1" config_mount_by_section "$cfg" @@ -39,19 +37,29 @@ do_swapoff() { } start() { + . /lib/functions/mount.sh + config_load fstab mkdir -p /var/lock - lock /var/lock/fstab.lck - echo '# WARNING: this is an auto generated file, please use uci to set defined filesystems' > /etc/fstab - lock -u /var/lock/fstab.lck + lock -w /var/lock/fstab.lck && { + lock /var/lock/fstab.lck + [ -e /tmp/fstab ] || { + echo '# WARNING: this is an auto generated file, please use uci to set defined filesystems' > /tmp/fstab + } + lock -u /var/lock/fstab.lck + } config_foreach do_swapon swap config_foreach do_mount mount + config_foreach do_swapon swap # do swap a second time so that swap on filesystems is enabled } stop() { + . /lib/functions/mount.sh + config_load fstab config_foreach do_unmount mount config_foreach do_swapoff swap swapoff -a } +