diff options
author | Andrew Cady <d@jerkface.net> | 2023-06-05 19:19:44 -0400 |
---|---|---|
committer | Andrew Cady <d@jerkface.net> | 2023-06-05 19:19:44 -0400 |
commit | b6c994d5060a2ab0ac6bb80117f5ac1741df46e6 (patch) | |
tree | 087590aa24247af01cd8b0422537eb946d1b6c0c /list-all-subvolumes | |
parent | c74ccc8475d4d642a310e3622c4353d541ec7d47 (diff) |
handle multiple simultaneous runs and clean up everything
Diffstat (limited to 'list-all-subvolumes')
-rwxr-xr-x | list-all-subvolumes | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/list-all-subvolumes b/list-all-subvolumes index a5f79cf..2acf772 100755 --- a/list-all-subvolumes +++ b/list-all-subvolumes | |||
@@ -7,10 +7,11 @@ list_all_subvolumes() | |||
7 | for dev in $(list_btrfs) | 7 | for dev in $(list_btrfs) |
8 | do | 8 | do |
9 | [ -b "$dev" ] || return | 9 | [ -b "$dev" ] || return |
10 | d=/run/btrfs-temp-mount/$(systemd-escape "$dev") | 10 | d=btrfs/$$/$(systemd-escape "$dev") |
11 | ( | 11 | ( |
12 | cd /run | ||
12 | mkdir -p "$d" || exit | 13 | mkdir -p "$d" || exit |
13 | trap 'umount "$d"; rmdir "$d"' EXIT | 14 | trap 'umount "$d"; rmdir -p "$d" 2>/dev/null' EXIT |
14 | set -x | 15 | set -x |
15 | mountpoint -q "$d" || mount -o ro,subvol=/ "$dev" "$d" || return | 16 | mountpoint -q "$d" || mount -o ro,subvol=/ "$dev" "$d" || return |
16 | btrfs subvolume list "$@" "$d" | 17 | btrfs subvolume list "$@" "$d" |