fix(btrfs): subvolume mount behaviour

Since subvolumes appear automatically when their parent is mounted, no
action is required until the user wants them to be mounted somewhere
else.
This allows access to the volume manager capabilities of BTRFS.
This commit is contained in:
rogarb 2023-07-09 21:18:11 +02:00 committed by mergify[bot]
parent 5b19fb2e74
commit 4f1cc11c51

View file

@ -91,16 +91,10 @@
let
subvolMounts = lib.concatMapAttrs
(_: subvol:
let
mountpoint =
if (subvol.mountpoint != null) then subvol.mountpoint
else if (config.mountpoint == null) then subvol.name
else null;
in
lib.optionalAttrs (mountpoint != null) {
${mountpoint} = ''
if ! findmnt ${config.device} "${rootMountPoint}${mountpoint}" > /dev/null 2>&1; then
mount ${config.device} "${rootMountPoint}${mountpoint}" \
lib.optionalAttrs (subvol.mountpoint != null) {
${subvol.mountpoint} = ''
if ! findmnt ${config.device} "${rootMountPoint}${subvol.mountpoint}" > /dev/null 2>&1; then
mount ${config.device} "${rootMountPoint}${subvol.mountpoint}" \
${lib.concatMapStringsSep " " (opt: "-o ${opt}") (subvol.mountOptions ++ [ "subvol=${subvol.name}" ])} \
-o X-mount.mkdir
fi