Project

General

Profile

Bug #1201

[librechroot] Sometimes creates btrfs subvolume at $copydir/var/lib/machines

lukeshu - over 7 years ago - . Updated about 7 years ago.

Status:
fixed
Priority:
bug
Category:
-
Assignee:
% Done:

100%


Description

This inhibits the copy from being overwritten with a sync, or deleted.

I'm not sure what's causing it; it has only happened with some of my copies.

History

#1

Updated by lukeshu over 7 years ago

Running sudo librechroot -l some-copy-that-does-not-yet-exist run pacman -S some-package causes the copy to be created, and has the machines subvolume inside of it.

#2

Updated by lukeshu over 7 years ago

Actually, that doesn't happen with all packages being installed.

#3

Updated by lukeshu over 7 years ago

Ahh, /usr/share/libalpm/hooks/systemd-tmpfiles.hook is evaluating tmpfiles.d(5) snippets, and the v, q, and Q directives create btrfs subvolumes.

Possible solutions:

  • Preemptively create $copydir/var/lib/machines as an ordinary directory to inhibit it being created as a subvolume. This feels like playing wack-a-mole with the tmpfiles that packages ship.
  • Move the root of the chroot to a subdirectory of the subvolume, this would cause tmpfiles to fall back to ordinary directory creation.
  • Change makechrootpkg.sh deletion logic to recursively delete subvolumes.
#4

Updated by lukeshu over 7 years ago

  • % Done changed from 0 to 90

Fixed on master; it now deletes subvolumes recursively. Leaving open because it's not fixed until there are tests.

#5

Updated by lukeshu about 7 years ago

  • % Done changed from 90 to 100
  • Assignee set to lukeshu
  • Status changed from open to fixed

fixed in 3b76f7dbfcec18ad22663663acf0355a61f4eb60

Also available in: Atom PDF