nixos/zfs: assert no force import with hibernation
According to a ZFS issue about hibernation causing data corruption: https://github.com/openzfs/zfs/issues/12842 The way this happens is if the system force imports a pool that was suspended during hibernation. I've had this happen twice on NixOS and I'd like to avoid having this happen again, to me or others. To do this I've added an assertion that makes sure you can't have `forceImportRoot` or `forceImportAll` enabled with `allowHibernation`. Signed-off-by: Jakub Sokołowski <jakub@status.im>
This commit is contained in:
parent
2b534fee3d
commit
c70f047315
|
@ -503,6 +503,10 @@ in
|
||||||
assertion = !cfgZfs.forceImportAll || cfgZfs.forceImportRoot;
|
assertion = !cfgZfs.forceImportAll || cfgZfs.forceImportRoot;
|
||||||
message = "If you enable boot.zfs.forceImportAll, you must also enable boot.zfs.forceImportRoot";
|
message = "If you enable boot.zfs.forceImportAll, you must also enable boot.zfs.forceImportRoot";
|
||||||
}
|
}
|
||||||
|
{
|
||||||
|
assertion = cfgZfs.allowHibernation -> !cfgZfs.forceImportRoot && !cfgZfs.forceImportAll;
|
||||||
|
message = "boot.zfs.allowHibernation while force importing is enabled will cause data corruption";
|
||||||
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
boot = {
|
boot = {
|
||||||
|
|
Loading…
Reference in a new issue