Procházet zdrojové kódy

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

Nuke when graphdir is a mount
Sebastiaan van Stijn před 8 roky
rodič
revize
d1fe79ca84
1 změnil soubory, kde provedl 5 přidání a 3 odebrání
  1. 5 3
      contrib/nuke-graph-directory.sh

+ 5 - 3
contrib/nuke-graph-directory.sh

@@ -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"/* )