Browse Source

base-files: Added support for swap configuration in /etc/config/fstab

SVN-Revision: 8947
Rod Whitby 18 years ago
parent
commit
ac8f66b987

+ 1 - 1
package/base-files/Makefile

@@ -10,7 +10,7 @@ include $(TOPDIR)/rules.mk
 include $(INCLUDE_DIR)/kernel.mk
 
 PKG_NAME:=base-files
-PKG_RELEASE:=11
+PKG_RELEASE:=12
 
 PKG_FILE_DEPEND:=$(PLATFORM_DIR)/ $(GENERIC_PLATFORM_DIR)/base-files/
 

+ 4 - 0
package/base-files/files/etc/config/fstab

@@ -4,3 +4,7 @@ config mount
 	option fstype	ext3
 	option options	rw,sync
 	option enabled	0
+
+config swap
+	option device	/dev/sda2
+	option enabled	0

+ 22 - 0
package/base-files/files/etc/init.d/fstab

@@ -20,6 +20,16 @@ do_mount() {
 	}
 }
 
+do_swapon() {
+	local cfg="$1"
+	config_get device "$cfg" device
+	[ -n "device" ] || return 0
+	config_get_bool enabled "$cfg" "enabled" '1'
+	[ "$enabled" -gt 0 ] && [ -x /usr/sbin/swapon ] && {
+	  /usr/sbin/swapon $device
+	}
+}
+
 do_unmount() {
 	local cfg="$1"
 	config_get target "$cfg" target
@@ -30,13 +40,25 @@ do_unmount() {
 	}
 }
 	
+do_swapoff() {
+	local cfg="$1"
+	config_get device "$cfg" device
+	[ -n "device" ] || return 0
+	config_get_bool enabled "$cfg" "enabled" '1'
+	[ "$enabled" -gt 0 ] && [ -x /usr/sbin/swapoff ] && {
+	  /usr/sbin/swapoff $device
+	}
+}
+
 start() {
 	config_load fstab
 	config_foreach do_mount mount
+	config_foreach do_swapon swap
 }
 
 stop() {
 	config_load fstab
 	config_foreach do_unmount mount
+	config_foreach do_swapoff swap
 }