]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/blobdiff - src/initscripts/init.d/functions
ramdisk: Make usage of ramdisk configurable
[people/pmueller/ipfire-2.x.git] / src / initscripts / init.d / functions
index 58fdffeb4a997220381e7b400211b441aeb38ef4..bd2c946e0de6ae62217e5a7235492e63fd81b4f9 100644 (file)
@@ -709,6 +709,39 @@ mem_amount() {
         echo "$(( ${pagesize} * ${pages} / 1024 / 1024 ))"
 }
 
+use_ramdisk() {
+       eval $(/usr/local/bin/readhash /etc/sysconfig/ramdisk)
+
+       case "${RAMDISK_MODE}" in
+               # Don't use ramdisk
+               0)
+                       return 1
+                       ;;
+
+               # Always use ramdisk
+               1)
+                       return 0
+                       ;;
+
+               # Automatic mode - use ramdisk if sufficient
+               # memory is available
+               2)
+                       local mem_avail="$(mem_amount)"
+
+                       if [ ${mem_avail} -ge 490 ]; then
+                               return 0
+                       else
+                               return 1
+                       fi
+                       ;;
+
+               # Fail for everything else
+               *)
+                       return 2
+                       ;;
+       esac
+}
+
 mount_ramdisk() {
        mount -t tmpfs none $1
 }