diff options
author | Daniel Dickinson <crazycshore@gmail.com> | 2010-07-12 16:35:39 +0000 |
---|---|---|
committer | Daniel Dickinson <crazycshore@gmail.com> | 2010-07-12 16:35:39 +0000 |
commit | 117590a2ce8ffc8161aafce06164e02d1f34157e (patch) | |
tree | 99f5663e810879156a59104f8b07e4dac9dfc7a6 /package/block-mount/files | |
parent | b6d521ea33df33a44461a0f394c6b9811ae2ca5d (diff) | |
download | openwrt-117590a2ce8ffc8161aafce06164e02d1f34157e.tar.gz openwrt-117590a2ce8ffc8161aafce06164e02d1f34157e.tar.bz2 openwrt-117590a2ce8ffc8161aafce06164e02d1f34157e.zip |
block-mount: Fixed two bugs in fstab.init. /etc/fstab was used where /tmp/fstab should have been, and locking was insufficiently careful and was such that it could result in deadlock when hotplug was in use.
SVN-Revision: 22148
Diffstat (limited to 'package/block-mount/files')
-rw-r--r-- | package/block-mount/files/fstab.init | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/package/block-mount/files/fstab.init b/package/block-mount/files/fstab.init index d755eccf08..fdcd4f52a2 100644 --- a/package/block-mount/files/fstab.init +++ b/package/block-mount/files/fstab.init @@ -41,9 +41,13 @@ do_swapoff() { start() { 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 } |