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