summaryrefslogtreecommitdiff
path: root/makechrootpkg.in
diff options
context:
space:
mode:
authorJan Alexander Steffens (heftig) <jan.steffens@gmail.com>2017-03-07 20:14:50 +0100
committerJan Alexander Steffens (heftig) <jan.steffens@gmail.com>2017-03-07 20:39:11 +0100
commiteec7fcf965763d5395c336f92cd56b193d054947 (patch)
treeaa5054fbc735c86c8cfce83ef7f528e5d6781fdc /makechrootpkg.in
parentc53a3e80170dc9d45beeeb623edfbf0bd40799a7 (diff)
downloaddevtools32-eec7fcf965763d5395c336f92cd56b193d054947.tar.xz
archbuild/makechrootpkg: Delete subvolumes in roots
The systemd package creates a subvolume at /var/lib/machines (through tmpfiles), if it can. We need to delete this subvolume before we can delete the parent subvolume. Look through the root for inodes with the number 256. These identify subvolume roots.
Diffstat (limited to 'makechrootpkg.in')
-rw-r--r--makechrootpkg.in6
1 files changed, 2 insertions, 4 deletions
diff --git a/makechrootpkg.in b/makechrootpkg.in
index 9e84996..dc598f7 100644
--- a/makechrootpkg.in
+++ b/makechrootpkg.in
@@ -97,10 +97,8 @@ create_chroot() {
stat_busy "Creating clean working copy [$copy]"
if is_btrfs "$chrootdir" && ! mountpoint -q "$copydir"; then
- if [[ -d $copydir ]]; then
- btrfs subvolume delete "$copydir" >/dev/null ||
- die "Unable to delete subvolume %s" "$copydir"
- fi
+ subvolume_delete_recursive "$copydir" ||
+ die "Unable to delete subvolume %s" "$copydir"
btrfs subvolume snapshot "$chrootdir/root" "$copydir" >/dev/null ||
die "Unable to create subvolume %s" "$copydir"
else