1 |
bicatali 12/10/30 14:44:27 |
2 |
|
3 |
Added: cvmfsd.confd cvmfs-2.0.19-no-redhat-init.patch |
4 |
cvmfsd.initd cvmfs-2.0.19-spinlock.patch |
5 |
cvmfs-2.0.19-openrc.patch |
6 |
cvmfs-2.0.19-autotools.patch cvmfs.initd |
7 |
Log: |
8 |
Import from science overlay, version bump |
9 |
|
10 |
(Portage version: 2.2.0_alpha141/cvs/Linux x86_64, signed Manifest commit with key 0x13CB1360) |
11 |
|
12 |
Revision Changes Path |
13 |
1.1 net-fs/cvmfs/files/cvmfsd.confd |
14 |
|
15 |
<<Binary file>> |
16 |
|
17 |
|
18 |
1.1 net-fs/cvmfs/files/cvmfs-2.0.19-no-redhat-init.patch |
19 |
|
20 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-fs/cvmfs/files/cvmfs-2.0.19-no-redhat-init.patch?rev=1.1&view=markup |
21 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-fs/cvmfs/files/cvmfs-2.0.19-no-redhat-init.patch?rev=1.1&content-type=text/plain |
22 |
|
23 |
Index: cvmfs-2.0.19-no-redhat-init.patch |
24 |
=================================================================== |
25 |
* Avoid forcing install of fedora/redhat init scripts |
26 |
* Add a more general init script to adapt other distributions |
27 |
|
28 |
bicatali@g.o 07/2012 |
29 |
|
30 |
--- cvmfs-2.0.19.orig/mount/Makefile.am |
31 |
+++ cvmfs-2.0.19/mount/Makefile.am |
32 |
@@ -2,14 +2,12 @@ |
33 |
install-exec-hook: |
34 |
test -z "$(DESTDIR)/etc" || mkdir -p "$(DESTDIR)/etc" |
35 |
test -z "$(DESTDIR)/sbin" || mkdir -p "$(DESTDIR)/sbin" |
36 |
- test -z "$(DESTDIR)/etc/rc.d/init.d" || mkdir -p "$(DESTDIR)/etc/rc.d/init.d" |
37 |
test -z "$(DESTDIR)/etc/cvmfs" || mkdir -p "$(DESTDIR)/etc/cvmfs" |
38 |
test -z "$(DESTDIR)/etc/cvmfs/config.d" || mkdir -p "$(DESTDIR)/etc/cvmfs/config.d" |
39 |
test -z "$(DESTDIR)/etc/cvmfs/domain.d" || mkdir -p "$(DESTDIR)/etc/cvmfs/domain.d" |
40 |
test -z "$(DESTDIR)/etc/cvmfs/keys" || mkdir -p "$(DESTDIR)/etc/cvmfs/keys" |
41 |
install -c auto.cvmfs "$(DESTDIR)/etc/auto.cvmfs" |
42 |
install -c mount.cvmfs "$(DESTDIR)/sbin/mount.cvmfs" |
43 |
- install -c cvmfs.initd "$(DESTDIR)/etc/rc.d/init.d/cvmfs" |
44 |
install -c -m 0644 config.sh "$(DESTDIR)/etc/cvmfs/config.sh" |
45 |
install -c -m 0644 default.conf "$(DESTDIR)/etc/cvmfs/default.conf" |
46 |
install -c -m 0644 domain.d/cern.ch.conf "$(DESTDIR)/etc/cvmfs/domain.d/cern.ch.conf" |
47 |
|
48 |
|
49 |
|
50 |
1.1 net-fs/cvmfs/files/cvmfsd.initd |
51 |
|
52 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-fs/cvmfs/files/cvmfsd.initd?rev=1.1&view=markup |
53 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-fs/cvmfs/files/cvmfsd.initd?rev=1.1&content-type=text/plain |
54 |
|
55 |
Index: cvmfsd.initd |
56 |
=================================================================== |
57 |
#!/sbin/runscript |
58 |
|
59 |
. /etc/cvmfs/server.conf |
60 |
[[ -f /etc/cvmfs/server.local ]] && . /etc/cvmfs/server.local |
61 |
|
62 |
extra_commands="checkconfig" |
63 |
extra_started_commands="pause flush resume" |
64 |
|
65 |
description="Background daemon that writes the cvmfs character device into a log file" |
66 |
description_checkconfig="Check configuration file validity" |
67 |
description_pause="Pause the transactions (not a full stop)" |
68 |
description_flush="Flush the CernVM-FS change log" |
69 |
description_resume="Resume transactions after a pause" |
70 |
|
71 |
pidfile="/var/run/cvmfsd.pid" |
72 |
subsysfile="/var/lock/subsys/cvmfsd" |
73 |
|
74 |
checkconfig() { |
75 |
local var ret=0 |
76 |
for var in SHADOW_DIR PUB_DIR LOG_FILE; do |
77 |
eval value=\$$var |
78 |
if [[ -z ${value} ]]; then |
79 |
eerror "You need to set a value for ${var} in /etc/cvmfs/server.local" |
80 |
ret=$((ret + $?)) |
81 |
fi |
82 |
done |
83 |
return ${ret} |
84 |
} |
85 |
|
86 |
depend() { |
87 |
after localmount |
88 |
use net |
89 |
} |
90 |
|
91 |
# returns: 0 (stopped), 1 (running), 2 (paused) |
92 |
check_status() { |
93 |
if [ -f ${pidfile} ]; then |
94 |
[ $(cat /sys/fs/redirfs/filters/cvmfsflt/lockdown) -eq 1 ] && return 2 |
95 |
return 1 |
96 |
fi |
97 |
return 0 |
98 |
} |
99 |
|
100 |
# FIXME: could we use start-stop-daemon instead of listen/unlisten? |
101 |
|
102 |
listen() { |
103 |
ebegin "Starting journal writer" |
104 |
nohup cat /dev/cvmfs >> "${LOG_FILE}" 2>/dev/null </dev/null & |
105 |
[ $? -eq 0 ] && echo $! > ${pidfile} |
106 |
eend $? |
107 |
} |
108 |
|
109 |
unlisten() { |
110 |
ebegin "Stopping journal writer" |
111 |
local pid=$(cat ${pidfile}) |
112 |
kill ${pid} |
113 |
local killed=0 retries=0 |
114 |
while [ ${killed} -eq 0 ]; do |
115 |
sleep 1 |
116 |
kill -0 ${pid} 2>/dev/null |
117 |
killed=$? |
118 |
retries=$((retries + 1)) |
119 |
[ ${retries} -eq 3 ] && kill -9 ${pid} |
120 |
done |
121 |
eend $? |
122 |
} |
123 |
|
124 |
start() { |
125 |
checkconfig || return 1 |
126 |
|
127 |
if [ ! -d ${SHADOW_DIR} ]; then |
128 |
eerror "Missing ${SHADOW_DIR}" |
129 |
return 1 |
130 |
fi |
131 |
|
132 |
if mkdir -p "$(echo "${LOG_FILE}" | grep -o '\([^\/]*\/\)*')"; then |
133 |
eerror "Could not create file system journal in ${LOG_FILE}" |
134 |
return 1 |
135 |
fi |
136 |
|
137 |
ebegin "Loading cvmfsflt kernel module" |
138 |
modprobe -q redirfs && modprobe -q cvmfsflt |
139 |
eend $? || return 1 |
140 |
|
141 |
ebegin "Linking to character device" |
142 |
rm -f /dev/cvmfs |
143 |
mknod /dev/cvmfs c $(awk '/cvmfs/ {print $1}' /proc/devices) 0 > /dev/null 2>&1 |
144 |
chmod 0600 /dev/cvmfs |
145 |
eend $? || return 1 |
146 |
|
147 |
ebegin "Setting filter path to ${SHADOW_DIR}" |
148 |
echo -n "a:i:${SHADOW_DIR}" > /sys/fs/redirfs/filters/cvmfsflt/paths |
149 |
eend $? || return 1 |
150 |
|
151 |
listen || return 1 |
152 |
ebegin "Starting CernVM-FS daemon" |
153 |
touch ${subsysfile} |
154 |
eend $? |
155 |
} |
156 |
|
157 |
|
158 |
pause() { |
159 |
check_status |
160 |
local ret=$? |
161 |
if [ ${ret} -eq 0 ]; then |
162 |
eerror "CernVM-FS daemon is stopped" |
163 |
return 1 |
164 |
fi |
165 |
if [ ${ret} -eq 2 ]; then |
166 |
ewarn "CernVM-FS daemon is already paused" |
167 |
return 1 |
168 |
fi |
169 |
|
170 |
ebegin "Locking down ${SHADOW_DIR}" |
171 |
echo -n "1" > /sys/fs/redirfs/filters/cvmfsflt/lockdown |
172 |
eend $? || return 1 |
173 |
|
174 |
ebegin "Waiting for pending operations on ${SHADOW_DIR}" |
175 |
local nowops noll |
176 |
while true; do |
177 |
nowops=$(cat /sys/fs/redirfs/filters/cvmfsflt/nowops) |
178 |
[ $? -ne 0 ] && eend 1 && return 1 |
179 |
[ ${nowops} -eq 0 ] && break |
180 |
sleep 1 |
181 |
done |
182 |
eend $? |
183 |
|
184 |
ebegin "Waiting for pending messages in call buffer" |
185 |
local noll |
186 |
while true; do |
187 |
noll=$(cat /sys/fs/redirfs/filters/cvmfsflt/noll) |
188 |
[ $? -ne 0 ] && eend 1 && return 1 |
189 |
[ ${noll} -eq 0 ] && break |
190 |
sleep 1 |
191 |
done |
192 |
eend $? || return 1 |
193 |
unlisten || return 1 |
194 |
mark_service_stopped cvmfsd |
195 |
} |
196 |
|
197 |
resume() { |
198 |
check_status |
199 |
local ret=$? |
200 |
if [ ${ret} -eq 0 ]; then |
201 |
eerror "CernVM-FS daemon is stopped" |
202 |
return 1 |
203 |
fi |
204 |
if [ $retval -eq 1 ]; then |
205 |
ewarn "CernVM-FS daemon is already running" |
206 |
return 1 |
207 |
fi |
208 |
|
209 |
listen || return 1 |
210 |
|
211 |
ebegin "Open up ${SHADOW_DIR}" |
212 |
echo -n "0" > /sys/fs/redirfs/filters/cvmfsflt/lockdown |
213 |
eend $? || return 1 |
214 |
mark_service_started cvmfsd |
215 |
} |
216 |
|
217 |
|
218 |
stop() { |
219 |
check_status |
220 |
local ret=$? |
221 |
if [ ${ret} -eq 0 ]; then |
222 |
ewarn "CernVM-FS daemon is already stopped" |
223 |
return 2 |
224 |
fi |
225 |
|
226 |
if [ ${ret} -eq 1 ]; then |
227 |
pause |
228 |
ret=$? |
229 |
[ ${ret} -ne 0 ] && return ${ret} |
230 |
fi |
231 |
|
232 |
ebegin "Unloading cvmfsflt kernel module" |
233 |
echo -n "c\0" > /sys/fs/redirfs/filters/cvmfsflt/paths || ret=$((ret + 1)) |
234 |
echo -n "1\0" > /sys/fs/redirfs/filters/cvmfsflt/unregister || ret=$((ret + 1)) |
235 |
rmmod cvmfsflt || ret=$((ret + 1)) |
236 |
eend ${ret} || return 1 |
237 |
|
238 |
ebegin "Shutting down CernVM-FS daemon" |
239 |
rm -f ${pidfile} ${subsysfile} |
240 |
eend $? |
241 |
} |
242 |
|
243 |
flush() { |
244 |
ebegin "Flushing CernVM-FS server file system change log" |
245 |
cat /dev/null > "${LOG_FILE}" |
246 |
eend $? |
247 |
} |
248 |
|
249 |
|
250 |
|
251 |
1.1 net-fs/cvmfs/files/cvmfs-2.0.19-spinlock.patch |
252 |
|
253 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-fs/cvmfs/files/cvmfs-2.0.19-spinlock.patch?rev=1.1&view=markup |
254 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-fs/cvmfs/files/cvmfs-2.0.19-spinlock.patch?rev=1.1&content-type=text/plain |
255 |
|
256 |
Index: cvmfs-2.0.19-spinlock.patch |
257 |
=================================================================== |
258 |
Use macro since SPIN_LOCK_UNLOCKED has been obsolete in kernel since 2007 |
259 |
|
260 |
bicatali@g.o 07/2012 |
261 |
|
262 |
--- cvmfs-2.0.19.orig/kernel/cvmfsflt/src/cvmfsflt_data.c |
263 |
+++ cvmfs-2.0.19/kernel/cvmfsflt/src/cvmfsflt_data.c |
264 |
@@ -5,7 +5,7 @@ |
265 |
int rbuf_head, rbuf_tail; /* Current positions in ring buffer */ |
266 |
struct semaphore rbuf_full, rbuf_empty; /* semaphores for producer-consumer synchronization */ |
267 |
struct cvmfsflt_logline *ll_current = NULL; |
268 |
-static spinlock_t rbuf_wlock = SPIN_LOCK_UNLOCKED; |
269 |
+DEFINE_SPINLOCK(rbuf_wlock); |
270 |
atomic_t cvmfsflt_noll = ATOMIC_INIT(0); /* number of loglines in the ring buffer */ |
271 |
|
272 |
|
273 |
|
274 |
|
275 |
|
276 |
1.1 net-fs/cvmfs/files/cvmfs-2.0.19-openrc.patch |
277 |
|
278 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-fs/cvmfs/files/cvmfs-2.0.19-openrc.patch?rev=1.1&view=markup |
279 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-fs/cvmfs/files/cvmfs-2.0.19-openrc.patch?rev=1.1&content-type=text/plain |
280 |
|
281 |
Index: cvmfs-2.0.19-openrc.patch |
282 |
=================================================================== |
283 |
diff -Nur cvmfs-2.0.19.orig/cvmfs/src/cvmfs_config cvmfs-2.0.19/cvmfs/src/cvmfs_config |
284 |
--- cvmfs-2.0.19.orig/cvmfs/src/cvmfs_config 2012-05-05 15:16:19.000000000 +0100 |
285 |
+++ cvmfs-2.0.19/cvmfs/src/cvmfs_config 2012-07-23 23:16:06.000000000 +0100 |
286 |
@@ -16,9 +16,15 @@ |
287 |
|
288 |
if [ -x /sbin/service ]; then |
289 |
service="/sbin/service" |
290 |
-else |
291 |
+ chkconfig="/sbin/chkconfig" |
292 |
+elif [ -x /usr/sbin/service ]; then |
293 |
# Ubuntu |
294 |
service="/usr/sbin/service" |
295 |
+ chkconfig="/usr/sbin/chkconfig" |
296 |
+elif [ -x /sbin/rc-service ]; then |
297 |
+ # OpenRC |
298 |
+ service="/sbin/rc-service" |
299 |
+ chkconfig="/usr/bin/rc-config" |
300 |
fi |
301 |
|
302 |
var_list="CVMFS_USER CVMFS_NFILES CVMFS_CACHE_BASE CVMFS_MOUNT_DIR CVMFS_QUOTA_LIMIT \ |
303 |
@@ -116,9 +122,9 @@ |
304 |
fi |
305 |
|
306 |
if [ $noservice -eq 0 ]; then |
307 |
- /sbin/chkconfig --list cvmfs > /dev/null 2>&1 |
308 |
+ $chkconfig --list cvmfs > /dev/null 2>&1 |
309 |
if [ $? -ne 0 ]; then |
310 |
- /sbin/chkconfig --add cvmfs |
311 |
+ $chkconfig --add cvmfs |
312 |
fi |
313 |
fi |
314 |
|
315 |
@@ -580,8 +586,8 @@ |
316 |
for cmd in 'uname -a' 'cat /etc/issue' 'hostname -f' 'ifconfig -a' 'cvmfs2 --version' \ |
317 |
'grep cvmfs2 /var/log/messages' 'grep cvmfs2 /var/log/syslog' \ |
318 |
"eval find ${CVMFS_CACHE_BASE} -maxdepth 1 -exec ls -lah \{\} \;" \ |
319 |
- 'service cvmfs probe' 'mount' 'df -h' 'ps -ef' \ |
320 |
- 'service cvmfs status' 'cvmfs_config showconfig' \ |
321 |
+ "${service}\ cvmfs\ probe" 'mount' 'df -h' 'ps -ef' \ |
322 |
+ "${service}\ cvmfs\ status" 'cvmfs_config showconfig' \ |
323 |
'cvmfs_config chksetup' 'cvmfs_config stat -v' \ |
324 |
'cat /etc/fuse.conf' 'ls -la /usr/bin/fusermount' 'ls -la /bin/fusermount' \ |
325 |
'cat /etc/auto.master' 'cat /etc/sysconfig/autofs' 'cat /etc/fstab' |
326 |
diff -Nur cvmfs-2.0.19.orig/cvmfs/src/cvmfs_server cvmfs-2.0.19/cvmfs/src/cvmfs_server |
327 |
--- cvmfs-2.0.19.orig/cvmfs/src/cvmfs_server 2011-11-30 11:26:55.000000000 +0000 |
328 |
+++ cvmfs-2.0.19/cvmfs/src/cvmfs_server 2012-07-23 23:31:32.000000000 +0100 |
329 |
@@ -1,5 +1,13 @@ |
330 |
#!/bin/bash |
331 |
|
332 |
+service=$(type -P service) |
333 |
+chconfig=$(type -P chkconfig) |
334 |
+if [ -n ${service} ]; then |
335 |
+ # OpenRC |
336 |
+ service="rc-service" |
337 |
+ chkconfig="echo > /dev/null" |
338 |
+fi |
339 |
+ |
340 |
create_master_key() { |
341 |
local name; name=$1 |
342 |
master_key="/etc/cvmfs/keys/$name.masterkey" |
343 |
@@ -161,8 +169,8 @@ |
344 |
create_whitelist $name |
345 |
|
346 |
echo -n "Starting services... " |
347 |
- service cvmfsd start > /dev/null |
348 |
- chkconfig cvmfsd on |
349 |
+ $service cvmfsd start > /dev/null |
350 |
+ $chkconfig cvmfsd on |
351 |
echo "New CernVM-FS repository for $name" > /cvmfs/${name}/empty |
352 |
usermod -s /bin/bash cvmfs |
353 |
publish $name > /dev/null |
354 |
@@ -182,8 +190,8 @@ |
355 |
|
356 |
echo -n "Stopping services... " |
357 |
usermod -s /sbin/nologin cvmfs |
358 |
- service cvmfsd stop > /dev/null |
359 |
- chkconfig cvmfsd off |
360 |
+ $service cvmfsd stop > /dev/null |
361 |
+ $chkconfig cvmfsd off |
362 |
echo "done" |
363 |
|
364 |
echo -n "Unmounting CernVM-FS Area... " |
365 |
|
366 |
|
367 |
|
368 |
1.1 net-fs/cvmfs/files/cvmfs-2.0.19-autotools.patch |
369 |
|
370 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-fs/cvmfs/files/cvmfs-2.0.19-autotools.patch?rev=1.1&view=markup |
371 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-fs/cvmfs/files/cvmfs-2.0.19-autotools.patch?rev=1.1&content-type=text/plain |
372 |
|
373 |
Index: cvmfs-2.0.19-autotools.patch |
374 |
=================================================================== |
375 |
Patch for various autotools fixes: |
376 |
* cleaner enable/disable functions |
377 |
* allow to build against system jemalloc |
378 |
* adapated to newer autoconf with standard macros |
379 |
* use LDADD instead of LDFLAGS to respect user's flags |
380 |
|
381 |
bicatali@g.o 07/2012 |
382 |
|
383 |
diff -Nur cvmfs-2.0.19.orig/configure.ac cvmfs-2.0.19/configure.ac |
384 |
--- cvmfs-2.0.19.orig/configure.ac 2012-07-24 17:54:17.000000000 +0100 |
385 |
+++ cvmfs-2.0.19/configure.ac 2012-10-30 11:00:26.000000000 +0000 |
386 |
@@ -9,20 +9,22 @@ |
387 |
AC_CONFIG_HEADER([config.h]) |
388 |
AH_BOTTOM([#define CVMFS_PATCH_LEVEL "0"]) |
389 |
|
390 |
-AC_ARG_ENABLE([cvmfs], AC_HELP_STRING([--disable-cvmfs], [Don't build the CernVM-FS FUSE module]), AC_SUBST([HAVE_CVMFS], [no])) |
391 |
-AC_ARG_ENABLE([server], AC_HELP_STRING([--disable-server], [Don't build writer's end programs]), AC_SUBST([HAVE_SERVER], [no])) |
392 |
-AC_ARG_ENABLE([sqlite3-builtin], AC_HELP_STRING([--enable-sqlite3-builtin], [Don't use system SQLite3]), AC_SUBST([USE_BUILTIN_SQLITE3], [yes])) |
393 |
-AC_ARG_ENABLE([libcurl-builtin], AC_HELP_STRING([--enable-libcurl-builtin], [Don't use system libcurl]), AC_SUBST([USE_BUILTIN_LIBCURL], [yes])) |
394 |
+AC_ARG_ENABLE([cvmfs], AC_HELP_STRING([--disable-cvmfs], [Don't build the CernVM-FS FUSE module]), AC_SUBST([HAVE_CVMFS], [$enableval]),AC_SUBST([HAVE_CVMFS], [yes])) |
395 |
+AC_ARG_ENABLE([server], AC_HELP_STRING([--disable-server], [Don't build writer's end programs]), AC_SUBST([HAVE_SERVER], [$enableval]),AC_SUBST([HAVE_SERVER], [yes])) |
396 |
+AC_ARG_ENABLE([sqlite3-builtin], AC_HELP_STRING([--enable-sqlite3-builtin], [Don't use system SQLite3]), AC_SUBST([USE_BUILTIN_SQLITE3], [$enableval]),AC_SUBST([USE_BUILTIN_SQLITE3], [no])) |
397 |
+AC_ARG_ENABLE([libcurl-builtin], AC_HELP_STRING([--enable-libcurl-builtin], [Don't use system libcurl]), AC_SUBST([USE_BUILTIN_LIBCURL], [$enableval]),AC_SUBST([USE_BUILTIN_LIBCURL], [no])) |
398 |
dnl AC_ARG_ENABLE([libfuse-builtin], AC_HELP_STRING([--enable-libfuse-builtin], [Don't use system libfuse]), AC_SUBST([USE_BUILTIN_LIBFUSE], [yes])) |
399 |
-AC_ARG_ENABLE([zlib-builtin], AC_HELP_STRING([--enable-zlib-builtin], [Don't use system]), AC_SUBST([USE_BUILTIN_ZLIB], [yes])) |
400 |
-AC_ARG_ENABLE([kernel-module], AC_HELP_STRING([--enable-kernel-module], [Build the kernel module for the server part]), AC_SUBST([HAVE_KMODULE], [yes])) |
401 |
-AC_ARG_ENABLE([mount-scripts], AC_HELP_STRING([--enable-mount-scripts], [Install CernVM-FS mount tools in /etc and /sbin]), AC_SUBST([HAVE_MOUNTSCRIPTS], [yes])) |
402 |
+AC_ARG_ENABLE([zlib-builtin], AC_HELP_STRING([--enable-zlib-builtin], [Don't use system]), AC_SUBST([USE_BUILTIN_ZLIB], [$enableval]),AC_SUBST([USE_BUILTIN_ZLIB], [no])) |
403 |
+AC_ARG_ENABLE([jemalloc-builtin], AC_HELP_STRING([--enable-jemalloc-builtin], [Don't use system jemalloc]), AC_SUBST([USE_BUILTIN_JEMALLOC], [$enableval]),AC_SUBST([USE_BUILTIN_JEMALLOC], [no])) |
404 |
+AC_ARG_ENABLE([kernel-module], AC_HELP_STRING([--enable-kernel-module], [Build the kernel module for the server part]), AC_SUBST([HAVE_KMODULE], [$enableval]),AC_SUBST([HAVE_KMODULE], [no])) |
405 |
+AC_ARG_ENABLE([mount-scripts], AC_HELP_STRING([--enable-mount-scripts], [Install CernVM-FS mount tools in /etc and /sbin]), AC_SUBST([HAVE_MOUNTSCRIPTS], [$enableval]),AC_SUBST([HAVE_MOUNTSCRIPTS], [no])) |
406 |
AM_CONDITIONAL([BUILD_CVMFS], [test x$HAVE_CVMFS != xno]) |
407 |
AM_CONDITIONAL([BUILD_SERVER], [test x$HAVE_SERVER != xno]) |
408 |
AM_CONDITIONAL([SYSTEM_SQLITE3], [test x$USE_BUILTIN_SQLITE3 != xyes]) |
409 |
AM_CONDITIONAL([SYSTEM_LIBCURL], [test x$USE_BUILTIN_LIBCURL != xyes]) |
410 |
AM_CONDITIONAL([SYSTEM_LIBFUSE], [test x != x]) |
411 |
AM_CONDITIONAL([SYSTEM_ZLIB], [test x$USE_BUILTIN_ZLIB != xyes]) |
412 |
+AM_CONDITIONAL([SYSTEM_JEMALLOC], [test x$USE_BUILTIN_JEMALLOC != xyes]) |
413 |
AM_CONDITIONAL([BUILD_KMODULE], [test x$HAVE_KMODULE == xyes]) |
414 |
AM_CONDITIONAL([BUILD_MEMCACHED], [test x$HAVE_MEMCACHED == xyes]) |
415 |
AM_CONDITIONAL([BUILD_MOUNTSCRIPTS], [test x$HAVE_MOUNTSCRIPTS == xyes]) |
416 |
@@ -35,6 +37,7 @@ |
417 |
dnl AC_PROG_LIBTOOL |
418 |
AC_PROG_MAKE_SET |
419 |
AC_PROG_RANLIB |
420 |
+m4_ifdef([AM_PROG_AR], [AM_PROG_AR]) |
421 |
|
422 |
CXXFLAGS="$CXXFLAGS -g -fno-exceptions -fno-strict-aliasing -fasynchronous-unwind-tables -fno-omit-frame-pointer -fno-optimize-sibling-calls -Wall \ |
423 |
-D_REENTRANT -D__EXTENSIONS__ -D_LARGEFILE64_SOURCE -D__LARGE64_FILES" |
424 |
@@ -70,7 +73,7 @@ |
425 |
PKG_CHECK_MODULES([OPENSSL], [libcrypto >= 0.9.7a]) |
426 |
|
427 |
dnl Get OpenMP Options |
428 |
-gt_OPENMP() |
429 |
+AC_OPENMP |
430 |
|
431 |
dnl Checks for libraries. |
432 |
save_LIBS=$LIBS |
433 |
@@ -86,6 +89,10 @@ |
434 |
|
435 |
AC_CHECK_LIB([rt], [sched_yield], ,[AC_MSG_ERROR(librt (Posix real time extensions) required)]) |
436 |
|
437 |
+if test x$USE_BUILTIN_JEMALLOC != xyes; then |
438 |
+ AC_CHECK_LIB([jemalloc], [malloc], ,[AC_MSG_ERROR(jemalloc required)]) |
439 |
+fi |
440 |
+ |
441 |
if test x$HAVE_CVMFS != xno; then |
442 |
dnl if test x$USE_BUILTIN_LIBFUSE != xyes; then |
443 |
dnl AC_CHECK_HEADERS([fuse.h fuse/fuse_opt.h],,[AC_MSG_ERROR(fuse headers required)],[#define _FILE_OFFSET_BITS 64]) |
444 |
diff -Nur cvmfs-2.0.19.orig/cvmfs/src/Makefile.am cvmfs-2.0.19/cvmfs/src/Makefile.am |
445 |
--- cvmfs-2.0.19.orig/cvmfs/src/Makefile.am 2012-07-25 08:17:28.000000000 +0100 |
446 |
+++ cvmfs-2.0.19/cvmfs/src/Makefile.am 2012-10-30 11:08:44.000000000 +0000 |
447 |
@@ -224,6 +224,11 @@ |
448 |
cvmfs_proxy_rtt_LDADD += $(LDFLAGS_ZLIB) |
449 |
endif |
450 |
|
451 |
+if ! SYSTEM_JEMALLOC |
452 |
+LDFLAGS_JEMALLOC = ../../jemalloc/src/lib/libjemalloc.a |
453 |
+cvmfs2_debug_LDADD += $(LDFLAGS_JEMALLOC) |
454 |
+cvmfs2_LDADD += $(LDFLAGS_JEMALLOC) |
455 |
+endif |
456 |
|
457 |
CFLAGS_CVMFS2 = |
458 |
if ! SYSTEM_SQLITE3 |
459 |
@@ -238,8 +243,8 @@ |
460 |
if ! SYSTEM_ZLIB |
461 |
CFLAGS_CVMFS2 += -I../../zlib/src |
462 |
endif |
463 |
-cvmfs2_debug_LDADD += ../../jemalloc/src/lib/libjemalloc.a -ldl |
464 |
-cvmfs2_LDADD += ../../jemalloc/src/lib/libjemalloc.a -ldl |
465 |
+ |
466 |
+ |
467 |
CFLAGS_CVMFS2 += $(PTHREAD_CFLAGS) $(CURL_CFLAGS) $(SQLITE_CFLAGS) $(OPENSSL_CFLAGS) $(FUSE_CFLAGS) -DCVMFS_CLIENT -DFUSE_CLIENT |
468 |
LDFLAGS_CVMFS2 = $(PTHREAD_CFLAGS) -rdynamic |
469 |
LIBS_CVMFS2 = $(PTHREAD_LIBS) $(CURL_LIBS) $(SQLITE_LIBS) $(FUSE_LIBS) $(Z_LIBS) $(OPENSSL_LIBS) $(CVMFS_LIBS) -lrt |
470 |
@@ -291,11 +296,11 @@ |
471 |
endif |
472 |
CFLAGS_PROXYRTT += $(CURL_CFLAGS) -DCVMFS_CLIENT -DNDEBUGMSG |
473 |
cvmfs_proxy_rtt_CFLAGS = $(CVMFS_CFLAGS) $(CFLAGS_PROXYRTT) |
474 |
-cvmfs_proxy_rtt_LDFLAGS = $(CVMFS_LIBS) $(CURL_LIBS) |
475 |
+cvmfs_proxy_rtt_LDADD += $(CVMFS_LIBS) $(CURL_LIBS) |
476 |
|
477 |
|
478 |
testtracer_CXXFLAGS = $(CVMFS_CXXFLAGS) $(PTHREAD_CFLAGS) |
479 |
-testtracer_LDFLAGS = $(CVMFS_LIBS) $(PTHREAD_CFLAGS) $(PTHREAD_LIBS) |
480 |
+testtracer_LDADD += $(CVMFS_LIBS) $(PTHREAD_CFLAGS) $(PTHREAD_LIBS) |
481 |
|
482 |
CFLAGS_SYNC = |
483 |
if ! SYSTEM_SQLITE3 |
484 |
@@ -307,7 +312,7 @@ |
485 |
CFLAGS_SYNC += $(PTHREAD_CFLAGS) $(OPENMP_CFLAGS) $(SQLITE_CFLAGS) $(OPENSSL_CFLAGS) -DNDEBUGMSG |
486 |
cvmfs_sync_bin_CXXFLAGS = $(CVMFS_CXXFLAGS) $(CFLAGS_SYNC) |
487 |
cvmfs_sync_bin_CFLAGS = $(CVMFS_CFLAGS) $(CFLAGS_SYNC) |
488 |
-cvmfs_sync_bin_LDFLAGS = $(CVMFS_LIBS) $(PTHREAD_CFLAGS) $(PTHREAD_LIBS) $(SQLITE_LIBS) $(OPENSSL_LIBS) $(Z_LIBS) $(GOMP_LIBS) |
489 |
+cvmfs_sync_bin_LDADD += $(CVMFS_LIBS) $(PTHREAD_CFLAGS) $(PTHREAD_LIBS) $(SQLITE_LIBS) $(OPENSSL_LIBS) $(Z_LIBS) $(GOMP_LIBS) |
490 |
|
491 |
|
492 |
CFLAGS_CLGCMP = |
493 |
@@ -320,7 +325,7 @@ |
494 |
CFLAGS_CLGCMP += $(SQLITE_CFLAGS) $(PTHREAD_CFLAGS) $(OPENSSL_CFLAGS) -DNDEBUGMSG |
495 |
cvmfs_clgcmp_CXXFLAGS = $(CVMFS_CXXFLAGS) $(CFLAGS_CLGCMP) |
496 |
cvmfs_clgcmp_CFLAGS = $(CVMFS_CFLAGS) $(CFLAGS_CLGCMP) |
497 |
-cvmfs_clgcmp_LDFLAGS = $(CVMFS_LIBS) $(PTHREAD_CFLAGS) $(PTHREAD_LIBS) $(OPENSSL_LIBS) $(SQLITE_LIBS) $(Z_LIBS) |
498 |
+cvmfs_clgcmp_LDADD += $(CVMFS_LIBS) $(PTHREAD_CFLAGS) $(PTHREAD_LIBS) $(OPENSSL_LIBS) $(SQLITE_LIBS) $(Z_LIBS) |
499 |
|
500 |
|
501 |
CFLAGS_LSCAT = |
502 |
@@ -333,7 +338,7 @@ |
503 |
CFLAGS_LSCAT += $(SQLITE_CFLAGS) $(PTHREAD_CFLAGS) $(OPENSSL_CFLAGS) -DNDEBUGMSG |
504 |
cvmfs_lscat_CXXFLAGS = $(CVMFS_CXXFLAGS) $(CFLAGS_LSCAT) |
505 |
cvmfs_lscat_CFLAGS = $(CVMFS_CFLAGS) $(CFLAGS_LSCAT) |
506 |
-cvmfs_lscat_LDFLAGS = $(CVMFS_LIBS) $(PTHREAD_CFLAGS) $(PTHREAD_LIBS) $(OPENSSL_LIBS) $(SQLITE_LIBS) $(Z_LIBS) |
507 |
+cvmfs_lscat_LDADD += $(CVMFS_LIBS) $(PTHREAD_CFLAGS) $(PTHREAD_LIBS) $(OPENSSL_LIBS) $(SQLITE_LIBS) $(Z_LIBS) |
508 |
|
509 |
CFLAGS_FIXINODES = |
510 |
if ! SYSTEM_SQLITE3 |
511 |
@@ -345,7 +350,7 @@ |
512 |
CFLAGS_FIXINODES += $(SQLITE_CFLAGS) $(PTHREAD_CFLAGS) $(OPENSSL_CFLAGS) -DNDEBUGMSG |
513 |
cvmfs_fixinodes_CXXFLAGS = $(CVMFS_CXXFLAGS) $(CFLAGS_FIXINODES) |
514 |
cvmfs_fixinodes_CFLAGS = $(CVMFS_CFLAGS) $(CFLAGS_FIXINODES) |
515 |
-cvmfs_fixinodes_LDFLAGS = $(CVMFS_LIBS) $(PTHREAD_CFLAGS) $(PTHREAD_LIBS) $(OPENSSL_LIBS) $(SQLITE_LIBS) $(Z_LIBS) |
516 |
+cvmfs_fixinodes_LDADD += $(CVMFS_LIBS) $(PTHREAD_CFLAGS) $(PTHREAD_LIBS) $(OPENSSL_LIBS) $(SQLITE_LIBS) $(Z_LIBS) |
517 |
|
518 |
CFLAGS_SIGN = |
519 |
if ! SYSTEM_ZLIB |
520 |
@@ -354,7 +359,7 @@ |
521 |
CFLAGS_SIGN += $(SQLITE_CFLAGS) $(PTHREAD_CFLAGS) $(OPENSSL_CFLAGS) -DNDEBUGMSG |
522 |
cvmfs_sign_CXXFLAGS = $(CVMFS_CXXFLAGS) $(CFLAGS_SIGN) |
523 |
cvmfs_sign_CFLAGS = $(CVMFS_CFLAGS) $(CFLAGS_SIGN) |
524 |
-cvmfs_sign_LDFLAGS = $(CVMFS_LIBS) $(PTHREAD_CFLAGS) $(PTHREAD_LIBS) $(SQLITE_LIBS) $(Z_LIBS) $(OPENSSL_LIBS) |
525 |
+cvmfs_sign_LDADD += $(CVMFS_LIBS) $(PTHREAD_CFLAGS) $(PTHREAD_LIBS) $(SQLITE_LIBS) $(Z_LIBS) $(OPENSSL_LIBS) |
526 |
|
527 |
CFLAGS_PULL = |
528 |
if ! SYSTEM_SQLITE3 |
529 |
@@ -369,13 +374,13 @@ |
530 |
CFLAGS_PULL += $(SQLITE_CFLAGS) $(PTHREAD_CFLAGS) $(OPENSSL_CFLAGS) -DNDEBUGMSG |
531 |
cvmfs_pull_CXXFLAGS = $(CVMFS_CXXFLAGS) $(CFLAGS_PULL) |
532 |
cvmfs_pull_CFLAGS = $(CVMFS_CFLAGS) $(CFLAGS_PULL) |
533 |
-cvmfs_pull_LDFLAGS = $(CVMFS_LIBS) $(PTHREAD_CFLAGS) $(PTHREAD_LIBS) $(OPENSSL_LIBS) $(SQLITE_LIBS) $(Z_LIBS) |
534 |
+cvmfs_pull_LDADD += $(CVMFS_LIBS) $(PTHREAD_CFLAGS) $(PTHREAD_LIBS) $(OPENSSL_LIBS) $(SQLITE_LIBS) $(Z_LIBS) $(CURL_LIBS) |
535 |
|
536 |
|
537 |
CFLAGS_SCRUB = $(OPENSSL_CFLAGS) -DNDEBUGMSG |
538 |
cvmfs_scrub_CXXFLAGS = $(CVMFS_CXXFLAGS) $(CFLAGS_SCRUB) |
539 |
cvmfs_scrub_CFLAGS = $(CVMFS_CFLAGS) $(CFLAGS_SCRUB) |
540 |
-cvmfs_scrub_LDFLAGS = $(CVMFS_LIBS) $(OPENSSL_LIBS) |
541 |
+cvmfs_scrub_LDADD += $(CVMFS_LIBS) $(OPENSSL_LIBS) |
542 |
|
543 |
|
544 |
CFLAGS_ZPIPE = |
545 |
@@ -383,4 +388,4 @@ |
546 |
CFLAGS_ZPIPE += -I../../zlib/src |
547 |
endif |
548 |
cvmfs_zpipe_CFLAGS = $(CVMFS_CFLAGS) $(CFLAGS_ZPIPE) |
549 |
-cvmfs_zpipe_LDFLAGS = $(CVMFS_LIBS) $(Z_LIBS) |
550 |
+cvmfs_zpipe_LDADD += $(CVMFS_LIBS) $(Z_LIBS) |
551 |
diff -Nur cvmfs-2.0.19.orig/Makefile.am cvmfs-2.0.19/Makefile.am |
552 |
--- cvmfs-2.0.19.orig/Makefile.am 2012-02-07 17:04:54.000000000 +0000 |
553 |
+++ cvmfs-2.0.19/Makefile.am 2012-10-30 11:00:26.000000000 +0000 |
554 |
@@ -10,10 +10,13 @@ |
555 |
if ! SYSTEM_ZLIB |
556 |
SUBDIR_ZLIB = zlib |
557 |
endif |
558 |
+if ! SYSTEM_JEMALLOC |
559 |
+ SUBDIR_JEMALLOC = jemalloc |
560 |
+endif |
561 |
if BUILD_KMODULE |
562 |
SUBDIR_KMODULE = kernel |
563 |
endif |
564 |
-SUBDIRS = $(SUBDIR_KMODULE) $(SUBDIR_SQLITE3) $(SUBDIR_ZLIB) $(SUBDIR_LIBCURL) $(SUBDIR_LIBFUSE) jemalloc cvmfs cvmfsd mount replica |
565 |
+SUBDIRS = $(SUBDIR_KMODULE) $(SUBDIR_SQLITE3) $(SUBDIR_ZLIB) $(SUBDIR_LIBCURL) $(SUBDIR_LIBFUSE) $(SUBDIR_JEMALLOC) cvmfs cvmfsd mount replica |
566 |
EXTRA_DIST = sign-whitelist add-ons rpm doc c-ares libcurl libfuse kernel jemalloc zlib mount replica |
567 |
docdir = ${datadir}/doc/${PACKAGE}-${VERSION} |
568 |
dist_doc_DATA = NEWS README ChangeLog AUTHORS INSTALL COPYING FAQ |
569 |
|
570 |
|
571 |
|
572 |
1.1 net-fs/cvmfs/files/cvmfs.initd |
573 |
|
574 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-fs/cvmfs/files/cvmfs.initd?rev=1.1&view=markup |
575 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-fs/cvmfs/files/cvmfs.initd?rev=1.1&content-type=text/plain |
576 |
|
577 |
Index: cvmfs.initd |
578 |
=================================================================== |
579 |
#!/sbin/runscript |
580 |
|
581 |
extra_commands="probe status" |
582 |
extra_started_commands="reload flush restart_clean" |
583 |
description="The CernVM-FS init script" |
584 |
|
585 |
init() { |
586 |
# Initialization, read config |
587 |
[ -x /etc/cernvm/config ] && /etc/cernvm/config |
588 |
if [ -f /etc/cvmfs/config.sh ]; then |
589 |
. /etc/cvmfs/config.sh |
590 |
else |
591 |
exit 1 |
592 |
fi |
593 |
|
594 |
cvmfs_readconfig |
595 |
[ -f /etc/cernvm/repositories.sh ] && . /etc/cernvm/repositories.sh |
596 |
export LANG=C LC_ALL=C |
597 |
[ -f /etc/cernvm/custom/init.sh ] && . /etc/cernvm/custom/init.sh |
598 |
} |
599 |
|
600 |
depend() { |
601 |
need net fuse autofs |
602 |
after logger |
603 |
} |
604 |
|
605 |
list_mounts() { |
606 |
mount -t fuse | grep "^cvmfs2[[:space:]]" |
607 |
} |
608 |
|
609 |
repository_status() { |
610 |
local fqrn=$1 ret=0 pid |
611 |
if list_mounts | grep ${CVMFS_MOUNT_DIR}/${fqrn} > /dev/null; then |
612 |
pid=$(cvmfs-talk -c "${CVMFS_CACHE_BASE}" -i "${fqrn}" pid) |
613 |
ret=$(echo ${pid} | grep ^[0-9]*$ > /dev/null) |
614 |
if [ ${ret} -eq 0 ]; then |
615 |
einfo "CernVM-FS mounted on ${CVMFS_MOUNT_DIR}/${fqrn} with pid ${pid}" |
616 |
else |
617 |
ewarn "CernVM-FS running with process ${pid}" |
618 |
fi |
619 |
else |
620 |
einfo "CernVM-FS not mounted on ${CVMFS_MOUNT_DIR}/${fqrn}" |
621 |
fi |
622 |
return ${ret} |
623 |
} |
624 |
|
625 |
repository_flush() { |
626 |
local fqrn=$1 |
627 |
ebegin "Flushing ${fqrn}" |
628 |
stat ${CVMFS_MOUNT_DIR}/${fqrn}/. > /dev/null 2>&1 && \ |
629 |
cvmfs-talk -c "${CVMFS_CACHE_BASE}" -i "${fqrn}" cleanup 0 > /dev/null |
630 |
eend $? |
631 |
} |
632 |
|
633 |
repository_reload() { |
634 |
local fqrn=$1 ret=0 hosts |
635 |
if cvmfs-talk -i ${fqrn} pid > /dev/null 2>&1; then |
636 |
ebegin "Reloading ${fqrn}" |
637 |
[[ $(cvmfs-talk -i ${fqrn} timeout set ${CVMFS_TIMEOUT} ${CVMFS_TIMEOUT_DIRECT} 2>&1) == OK ]] |
638 |
ret=$((ret + $?)) |
639 |
[[ $(cvmfs-talk -i ${fqrn} proxy set ${CVMFS_HTTP_PROXY} 2>&1) == OK ]] |
640 |
ret=$((ret + $?)) |
641 |
hosts=$(echo ${CVMFS_SERVER_URL} | sed -e "s/@org@/$(cvmfs_getorg ${fqrn})/g" -e "s/@fqrn@/${fqrn}/g") |
642 |
[[ $(cvmfs-talk -i ${fqrn} host set ${hosts} 2>&1) == OK ]] |
643 |
ret=$((ret + $?)) |
644 |
[[ $(cvmfs-talk -i ${fqrn} max ttl set ${CVMFS_MAX_TTL:-0} 2>&1) == OK ]] |
645 |
eend $? |
646 |
ret=$((ret + $?)) |
647 |
else |
648 |
einfo "${frqn} not mounted" |
649 |
fi |
650 |
return ${ret} |
651 |
} |
652 |
|
653 |
repository_wipe() { |
654 |
local fqrn=$1 |
655 |
ebegin "Wiping out ${CVMFS_CACHE_BASE}/${fqrn}" |
656 |
[ ! -d "${CVMFS_CACHE_BASE}/${fqrn}" ] || rm -rf "${CVMFS_CACHE_BASE}/${fqrn}" |
657 |
eend $? |
658 |
} |
659 |
|
660 |
repository_probe() { |
661 |
local fqrn=$1 |
662 |
ebegin "Probing ${CVMFS_MOUNT_DIR}/${fqrn}" |
663 |
df -P "${CVMFS_MOUNT_DIR}/${fqrn}" 2>&1 | grep -q ^cvmfs2 |
664 |
eend $? |
665 |
} |
666 |
|
667 |
cvmfs_action() { |
668 |
local action=$1 org fqrn |
669 |
for org in ${CVMFS_REPOSITORIES/,/ /}; do |
670 |
case ${org} in |
671 |
none) |
672 |
;; |
673 |
*) |
674 |
. /etc/cvmfs/config.sh |
675 |
cvmfs_readconfig |
676 |
fqrn=$(cvmfs_mkfqrn ${org}) |
677 |
cvmfs_readconfig ${fqrn} |
678 |
[[ $(type -t "${action}") == "function" ]] && ${action} ${fqrn} |
679 |
;; |
680 |
esac |
681 |
done |
682 |
} |
683 |
|
684 |
start() { |
685 |
ebegin "Starting CernVM-FS" |
686 |
cvmfs_action repository_start |
687 |
eend $? |
688 |
} |
689 |
|
690 |
stop() { |
691 |
local m ret=0 |
692 |
# FIXME: do we need to unmount here or? |
693 |
for m in $(list_mounts | awk '{print $3}'); do |
694 |
ebegin "Unmounting ${m}" |
695 |
umount ${m} 2>/dev/null |
696 |
eend $? |
697 |
if [ $? -ne 0 ]; then |
698 |
ret=$((ret + $?)) |
699 |
fuser -m -a -v ${m} |
700 |
fi |
701 |
done |
702 |
if [ ${ret} -eq 0 ]; then |
703 |
ebegin "Shutting down CernVM-FS" |
704 |
cvmfs_action repository_stop |
705 |
eend $? |
706 |
ret=$((ret + $?)) |
707 |
fi |
708 |
return ${ret} |
709 |
} |
710 |
|
711 |
status() { |
712 |
ebegin "Checking status on CernVM-FS" |
713 |
cvmfs_action repository_status |
714 |
|
715 |
local org processed repo ret=0 |
716 |
|
717 |
for org in ${CVMFS_REPOSITORIES/,/ /}; do |
718 |
case ${org} in |
719 |
none) |
720 |
;; |
721 |
*) |
722 |
. /etc/cvmfs/config.sh # start with fresh repository_... functions |
723 |
cvmfs_readconfig |
724 |
fqrn=$(cvmfs_mkfqrn ${org}) |
725 |
processed="${fqrn} ${processed}" |
726 |
cvmfs_readconfig ${fqrn} |
727 |
|
728 |
# in an action? |
729 |
list_mounts | grep ${CVMFS_MOUNT_DIR}/${fqrn} > /dev/null |
730 |
if [ $? -eq 0 ]; then |
731 |
local pid=$(/usr/bin/cvmfs-talk -c "${CVMFS_CACHE_BASE}" -i "${fqrn}" pid) |
732 |
if echo ${pid} | grep ^[0-9]*$ > /dev/null; then |
733 |
einfo "CernVM-FS mounted on ${CVMFS_MOUNT_DIR}/${fqrn} with pid ${pid}" |
734 |
else |
735 |
ret=$((ret + $?)) |
736 |
ewarn "CernVM-FS running with process ${pid}" |
737 |
fi |
738 |
else |
739 |
einfo "CernVM-FS not mounted on ${CVMFS_MOUNT_DIR}/${fqrn}" |
740 |
fi |
741 |
;; |
742 |
esac |
743 |
done |
744 |
|
745 |
for repo in $(list_mounts | awk '{print $3}'); do |
746 |
repo=$(basename "${repo}") |
747 |
echo "${processed}" | grep -q "${repo}" || \ |
748 |
ewarn "CernVM-FS mounted on ${CVMFS_MOUNT_DIR}/${repo} (not in CVMFS_REPOSITORIES)" |
749 |
done |
750 |
eend ${ret} |
751 |
} |
752 |
|
753 |
flush() { |
754 |
cvmfs_action repository_flush |
755 |
} |
756 |
|
757 |
reload() { |
758 |
cvmfs_action repository_reload |
759 |
} |
760 |
|
761 |
restart_clean() { |
762 |
stop |
763 |
local ret=$? |
764 |
cvmfs_action repository_wipe |
765 |
ret=$((ret + $?)) |
766 |
[[ ${ret} == 0 ]] && start |
767 |
ret=$((ret + $?)) |
768 |
return ${ret} |
769 |
} |
770 |
|
771 |
probe() { |
772 |
cvmfs_action repository_probe |
773 |
} |