compcache.init 1004 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. #!/bin/sh /etc/rc.common
  2. # Copyright (C) 2008 OpenWrt.org
  3. START=19
  4. load_modules() {
  5. local section="$1"
  6. config_get "size_kbytes" "$section" "size_kbytes"
  7. config_get_bool "enabled" "$section" "enabled" '1'
  8. if [ "$enabled" -gt 0 ]; then
  9. if [ "`lsmod | grep 'compcache'`" != "" ]; then
  10. echo "compcache allready loaded"
  11. else
  12. insmod xvmalloc
  13. insmod lzo1x
  14. insmod compcache compcache_size_kbytes=$size_kbytes
  15. fi
  16. fi
  17. }
  18. remove_modules() {
  19. local section="$1"
  20. config_get_bool "enabled" "$section" "enabled" '1'
  21. if [ "$enabled" -gt 0 ]; then
  22. [ "`cat /proc/swaps | grep 'ramzswap0'`" != "" ] && swapoff /dev/ramzswap0
  23. [ "`lsmod | grep 'compcache'`" != "" ] && rmmod compcache > /dev/null
  24. [ "`lsmod | grep 'lzo1x'`" != "" ] && rmmod lzo1x > /dev/null
  25. [ "`lsmod | grep 'xvmalloc'`" != "" ] && rmmod xvmalloc > /dev/null
  26. fi
  27. }
  28. start() {
  29. config_load "compcache"
  30. config_foreach load_modules "compcache"
  31. }
  32. stop() {
  33. config_load "compcache"
  34. config_foreach remove_modules "compcache"
  35. }