zpool: don't mount created datasets directly; and fix encrypted import

This is necessary to support non-legacy mounts, since
the creation order and the required mounting order can be
different in order to not shadow any datasets.

Adding -l to the import statement is necessary to allow
encrypted datasets to be mounted later using disko-mount.
This commit is contained in:
oddlama 2023-04-29 19:42:44 +02:00
parent 617c77a440
commit b320fcd543
No known key found for this signature in database
GPG key ID: 14EFE510775FE39A
2 changed files with 5 additions and 2 deletions

View file

@ -82,7 +82,7 @@
{
dev = ''
zpool list '${config.name}' >/dev/null 2>/dev/null || \
zpool import -R ${config.mountRoot} '${config.name}'
zpool import -l -R ${config.mountRoot} '${config.name}'
${lib.concatMapStrings (x: x.dev or "") (lib.attrValues datasetMounts)}
'';
fs = (datasetMounts.fs or {}) // lib.optionalAttrs (config.mountpoint != null) {