blob: 93090ef2afbc8e10af38426a57bb84d18a32b904 [file] [log] [blame]
#!/sbin/runscript
# Copyright 1999-2010 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
depend() {
need localmount
use logger
before nfsmount
}
checkxattr() {
local testpath testfile ret
testpath=$(awk '/^[[:space:]]*dir/ {print $2}' /etc/cachefilesd.conf)
testfile="${testpath}/.tmp-xattr-test.cachefilesd"
touch "${testfile}"
# creates a file in the testpath and tries to set an attribute on it to check
# if the support is available
attr -s test -V xattr "${testfile}" 2>&1 > /dev/null
ret=$?
rm -f "${testfile}"
[ ${ret} -ne 0 ] && eerror "xattr support missing on the ${testpath} filesystem"
return ${ret}
}
start() {
ebegin "Starting cachefilesd"
checkxattr || return $?
# check if the cachefiles modules is loaded (or builtin)
if [ ! -c /dev/cachefiles ] ; then
local ret
einfo "/dev/cachefiles doesn't exist, trying to modprobe cachefiles"
modprobe cachefiles
ret=$?
if [ $ret -ne 0 ] ; then
eerror "cachefiles modules cannot be loaded so cachefilesd "
eerror "cannot be started, aborting. Did you build fscache in your "
eerror "kernel? Note that you need a 2.6.30 or better kernel"
return $ret
fi
fi
start-stop-daemon --start --pidfile /var/run/cachefilesd.pid --exec /sbin/cachefilesd -- ${OPTIONS}
eend $? "Failed to start cachefilesd. Check the system log to see the error"
}
stop() {
ebegin "Stopping cachefilesd"
start-stop-daemon --stop --exec /sbin/cachefilesd --pidfile /var/run/cachefilesd.pid
eend $? "Failed to stop cachefilesd"
}