summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'net-fs/cvmfs/files/cvmfs-2.1.20.0_p05-overlayfs.patch')
-rw-r--r--net-fs/cvmfs/files/cvmfs-2.1.20.0_p05-overlayfs.patch50
1 files changed, 50 insertions, 0 deletions
diff --git a/net-fs/cvmfs/files/cvmfs-2.1.20.0_p05-overlayfs.patch b/net-fs/cvmfs/files/cvmfs-2.1.20.0_p05-overlayfs.patch
new file mode 100644
index 0000000..1948bcf
--- /dev/null
+++ b/net-fs/cvmfs/files/cvmfs-2.1.20.0_p05-overlayfs.patch
@@ -0,0 +1,50 @@
+--- cvmfs/cvmfs_server.orig 2015-02-23 13:51:47.000000000 +0000
++++ cvmfs/cvmfs_server 2015-08-10 20:49:35.918557033 +0000
+@@ -454,6 +454,7 @@
+ #
+ # @return 0 if the overlayfs kernel module is loaded
+ check_overlayfs() {
++ [ -e /proc/config.gz ] && test x$(zgrep OVERLAY_FS /proc/config.gz | awk -F = '{print $2}') = xy && return 0
+ /sbin/modprobe -q overlayfs || test -d /sys/module/overlayfs
+ }
+
+@@ -934,7 +939,7 @@
+ local tmpdir
+ tmpdir=$(mktemp -d)
+ mkdir ${tmpdir}/a ${tmpdir}/b ${tmpdir}/c
+- mount -t overlayfs \
++ mount -t overlay \
+ -o upperdir=${tmpdir}/b,lowerdir=${tmpdir}/a,ro,context=system_u:object_r:default_t:s0 \
+ try_remount_overlayfs ${tmpdir}/c > /dev/null 2>&1 || return 1
+ mount -o remount,rw ${tmpdir}/c > /dev/null 2>&1 || { _cleanup_tmrc $tmpdir; return 2; }
+@@ -1870,8 +1875,9 @@
+ local rdonly_dir="${spool_dir}/rdonly"
+ local temp_dir="${spool_dir}/tmp"
+ local cache_dir="${spool_dir}/cache"
+-
+- mkdir -p /cvmfs/$name $scratch_dir $rdonly_dir $temp_dir $cache_dir || return 1
++ local work_dir="${spool_dir}/work"
++
++ mkdir -p /cvmfs/$name $scratch_dir $rdonly_dir $temp_dir $cache_dir $work_dir || return 1
+ chown -R $CVMFS_USER /cvmfs/$name/ $spool_dir/
+ }
+
+@@ -1937,7 +1943,8 @@
+ load_repo_config $name
+ local rdonly_dir="${CVMFS_SPOOL_DIR}/rdonly"
+ local scratch_dir="${CVMFS_SPOOL_DIR}/scratch"
+-
++ local work_dir="${CVMFS_SPOOL_DIR}/work"
++
+ local selinux_context=""
+ if [ $unionfs = "overlayfs" ]; then
+ echo -n "(overlayfs) "
+@@ -1946,7 +1953,7 @@
+ fi
+ cat >> /etc/fstab << EOF
+ cvmfs2#$name $rdonly_dir fuse allow_other,config=/etc/cvmfs/repositories.d/${name}/client.conf:${CVMFS_SPOOL_DIR}/client.local,cvmfs_suid 0 0 # added by CernVM-FS for $name
+-overlayfs_$name /cvmfs/$name overlayfs upperdir=${scratch_dir},lowerdir=${rdonly_dir},ro$selinux_context 0 0 # added by CernVM-FS for $name
++overlayfs_$name /cvmfs/$name overlay upperdir=${scratch_dir},lowerdir=${rdonly_dir},workdir=${work_dir},ro$selinux_context 0 0 # added by CernVM-FS for $name
+ EOF
+ else
+ echo -n "(aufs) "