mirror of
				git://git.openwrt.org/openwrt/openwrt.git
				synced 2025-11-04 06:54:27 -05:00 
			
		
		
		
	
		
			
				
	
	
		
			49 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			49 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
#!/bin/sh /etc/rc.common
 | 
						|
# Copyright (C) 2008 OpenWrt.org
 | 
						|
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 [ "`cat /proc/swaps | grep 'ramzswap0'`" != "" ]; then
 | 
						|
			echo "compcache already loaded"
 | 
						|
		else
 | 
						|
			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 lzo1x
 | 
						|
				insmod ramzswap $params_set
 | 
						|
				sleep 2
 | 
						|
				swapon /dev/ramzswap0
 | 
						|
			fi
 | 
						|
		fi
 | 
						|
	fi
 | 
						|
}
 | 
						|
 | 
						|
remove_modules() {
 | 
						|
	local section="$1"
 | 
						|
	config_get_bool "enabled" "$section" "enabled" '1'
 | 
						|
	if [ "$enabled" -gt 0 ]; then
 | 
						|
		[ "`cat /proc/swaps | grep 'ramzswap0'`" != "" ] && swapoff /dev/ramzswap0
 | 
						|
		[ "`lsmod | grep 'ramzswap'`" != "" ] && rmmod ramzswap &> /dev/null
 | 
						|
		[ "`lsmod | grep 'lzo1x'`" != "" ] && rmmod lzo1x &> /dev/null
 | 
						|
	fi
 | 
						|
}
 | 
						|
 | 
						|
start() {
 | 
						|
	config_load "compcache"
 | 
						|
	config_foreach load_modules "compcache"
 | 
						|
}
 | 
						|
 | 
						|
stop() {
 | 
						|
	config_load "compcache"
 | 
						|
	config_foreach remove_modules "compcache"
 | 
						|
}
 |