nixpkgs-suyu/nixos
Klemens Nanni 9553106832 nixos/stage-1: Ensure correct ZFS mount options
Consider ZFS filesystems meant to be mounted with zfs.mount(8), e.g.
```
config.fileSystems."/media".options = [ "zfsutil" ];
config.fileSystems."/nix".options = [ "zfsutil" ];
```

`zfsutil` uses dataset properties as mount options such that zfsprops(7)
do not have to be duplicated in fstab(5) entries or manual mount(8)
invocations.

Given the example configuation above, /media is correctly mounted with
`setuid=off` translated into `nosuid`:

```
$ zfs get -Ho value setuid /media
off
$ findmnt -t zfs -no options /media
rw,nosuid,nodev,noexec,noatime,xattr,posixacl
```

/nix however was mounted with default mount(8) options:
```
$ zfs get -Ho value setuid /nix
off
$ findmnt -t zfs -no options /nix
rw,relatime,xattr,noacl
```

This holds true for all other ZFS properties/mount options, including
`exec/[no]exec`, `devices/[no]dev`, `atime/[no]atime`, etc.

/nix is mounted using BusyBox's `mount` during stage 1 init while /media
is mounted later using proper systemd and/or util-linux's `mount`.

Tracing stage 1 init showed that BusyBox never tried to execute
mount.zfs(8) as intended by `zfsutil`.

Replacing it with util-linux's `mount` and adding the mount helper
showed attempts to execute mount.zfs(8).

Ensure ZFS filesystems are mounted with correct options iff `zfsutil` is
used.
2022-05-26 22:16:53 +02:00
..
doc doc: rework notable changes 2022-05-25 23:26:44 +02:00
lib Merge pull request #171163 from hercules-ci/nixpkgs-config-doc 2022-05-19 20:51:38 +02:00
maintainers maintainers/create-amis.sh: Add more AWS regions 2022-05-17 10:20:30 +01:00
modules nixos/stage-1: Ensure correct ZFS mount options 2022-05-26 22:16:53 +02:00
tests Merge #173996: nixosTests.custom-ca: fix meta evaluation 2022-05-23 17:52:11 +02:00
COPYING
default.nix
README
release-combined.nix nixos/release: add podman, oci-containers.podman to tested 2022-05-03 19:42:33 +10:00
release-small.nix nixos/release: disable nfs3.simple 2022-03-03 06:34:59 +10:00
release.nix nixos/release: add calamares installer 2022-05-03 12:19:20 -04:00

*** NixOS ***

NixOS is a Linux distribution based on the purely functional package
management system Nix.  More information can be found at
https://nixos.org/nixos and in the manual in doc/manual.