Merge pull request #27869 from bltavares/nuke-when-graphdir-is-a-mount

Nuke when graphdir is a mount
This commit is contained in:
Sebastiaan van Stijn 2016-11-01 23:21:49 -07:00 committed by GitHub
commit d1fe79ca84
1 changed files with 5 additions and 3 deletions

View File

@ -44,7 +44,7 @@ dir_in_dir() {
# (like -v /home:... for example - DON'T DELETE MY HOME DIRECTORY BRU!)
for mount in $(awk '{ print $5 }' /proc/self/mountinfo); do
mount="$(readlink -f "$mount" || true)"
if dir_in_dir "$mount" "$dir"; then
if [ "$dir" != "$mount" ] && dir_in_dir "$mount" "$dir"; then
( set -x; umount -f "$mount" )
fi
done
@ -54,9 +54,11 @@ if command -v btrfs > /dev/null 2>&1; then
# Find btrfs subvolumes under $dir checking for inode 256
# Source: http://stackoverflow.com/a/32865333
for subvol in $(find "$dir" -type d -inum 256 | sort -r); do
( set -x; btrfs subvolume delete "$subvol" )
if [ "$dir" != "$subvol" ]; then
( set -x; btrfs subvolume delete "$subvol" )
fi
done
fi
# finally, DESTROY ALL THINGS
( set -x; rm -rf "$dir" )
( shopt -s dotglob; set -x; rm -rf "$dir"/* )