From b3c2645b973334f87992997f15bee3f600d3dcc3 Mon Sep 17 00:00:00 2001
From: florian <florian@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Date: Mon, 23 Nov 2009 22:30:42 +0000
Subject: [package] update compcache to 0.5.4 (#6018)

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@18512 3c298f89-4303-0410-b956-a3cf2f4a3e73
---
 package/compcache/files/compcache.config |  5 +++--
 package/compcache/files/compcache.init   | 28 +++++++++++++++++++---------
 2 files changed, 22 insertions(+), 11 deletions(-)

(limited to 'package/compcache/files')

diff --git a/package/compcache/files/compcache.config b/package/compcache/files/compcache.config
index 96ee19284..3faab3e14 100644
--- a/package/compcache/files/compcache.config
+++ b/package/compcache/files/compcache.config
@@ -1,3 +1,4 @@
 config compcache
-	option 'enabled'	'0'
-	option 'size_kbytes'	'2048'
+	option 'enabled'	'%ENABLED%'
+	option 'size_kbytes'	'%RAM_REPORTED%'
+	option 'backup_dev'	'%BACKUP_DEV%'
diff --git a/package/compcache/files/compcache.init b/package/compcache/files/compcache.init
index 5c85e5ddd..b9406d108 100644
--- a/package/compcache/files/compcache.init
+++ b/package/compcache/files/compcache.init
@@ -1,18 +1,28 @@
 #!/bin/sh /etc/rc.common
 # Copyright (C) 2008 OpenWrt.org
-START=19
+START=14
 
 load_modules() {
 	local section="$1"
 	config_get "size_kbytes" "$section" "size_kbytes"
+	config_get "backup_dev" "$section" "backup_dev"
+	#CC_PARAM_STR="memlimit_kb=$1 backing_dev=$BACKING_DEV"
 	config_get_bool "enabled" "$section" "enabled" '1'
 	if [ "$enabled" -gt 0 ]; then
-		if [ "`lsmod | grep 'compcache'`" != "" ]; then
-			echo "compcache allready loaded"
+		if [ "`cat /proc/swaps | grep 'ramzswap0'`" != "" ]; then
+			echo "compcache already loaded"
 		else
-			insmod xvmalloc
-			insmod lzo1x
-			insmod compcache compcache_size_kbytes=$size_kbytes
+			if [ "$backup_dev" != "" ]; then
+				params_set="memlimit_kb=$size_kbytes backing_swap=$backup_dev"
+			else
+				params_set="disksize_kb=$size_kbytes"
+			fi
+			if [ "`lsmod | grep 'ramzswap'`" == "" ]; then
+				insmod xvmalloc
+				insmod lzo1x
+				insmod ramzswap $params_set
+				swapon /dev/ramzswap0
+			fi
 		fi
 	fi
 }
@@ -22,9 +32,9 @@ remove_modules() {
 	config_get_bool "enabled" "$section" "enabled" '1'
 	if [ "$enabled" -gt 0 ]; then
 		[ "`cat /proc/swaps | grep 'ramzswap0'`" != "" ] && swapoff /dev/ramzswap0
-		[ "`lsmod | grep 'compcache'`" != "" ] && rmmod compcache > /dev/null
-		[ "`lsmod | grep 'lzo1x'`" != "" ] && rmmod lzo1x > /dev/null
-		[ "`lsmod | grep 'xvmalloc'`" != "" ] && rmmod xvmalloc > /dev/null
+		[ "`lsmod | grep 'ramzswap'`" != "" ] && rmmod ramzswap &> /dev/null
+		[ "`lsmod | grep 'lzo1x'`" != "" ] && rmmod lzo1x &> /dev/null
+		[ "`lsmod | grep 'xvmalloc'`" != "" ] && rmmod xvmalloc &> /dev/null
 	fi
 }
 
-- 
cgit v1.2.3