Переглянути джерело

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
Daniel Dickinson 15 роки тому
батько
коміт
117590a2ce
1 змінених файлів з 7 додано та 3 видалено
  1. 7 3
      package/block-mount/files/fstab.init

+ 7 - 3
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
 }