Skip to content

Instantly share code, notes, and snippets.

@dmcgowan
Created July 29, 2016 21:12
Show Gist options
  • Save dmcgowan/166bf8de46740792b1f4b70e2b6b9a5d to your computer and use it in GitHub Desktop.
Save dmcgowan/166bf8de46740792b1f4b70e2b6b9a5d to your computer and use it in GitHub Desktop.
Demonstrate overlay bug with opaque directories using multiple lowers
#!/bin/sh
set -e
root=$(mktemp -d)
echo "--- Running in $root"
cd $root
mkdir -p lower1/lib
touch lower1/lib/hidden
mkdir -p lower2/lib
touch $root/lower2/lib/not-hidden
setfattr -n trusted.overlay.opaque -v y lower2/lib
mkdir upper
mkdir work
mkdir merged
mount -t overlay overlay -o lowerdir=lower2:lower1,upperdir=upper,workdir=work merged
echo "--- Expect \"not-hidden\""
ls merged/lib
touch merged/lib/newfile
echo "--- Expect \"not-hidden\" and \"newfile\""
ls merged/lib
echo "--- Expect no trusted.overlay.opaque xattr"
getfattr -n trusted.overlay.opaque upper/lib
umount merged
mount -t overlay overlay -o lowerdir=lower2:lower1,upperdir=upper,workdir=work merged
echo "--- Expect \"not-hidden\" and \"newfile\""
ls merged/lib
umount merged
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment