Subject: [PATCH 0/3] Better Support for ZFS on Guix

From: raid5atemyhomework <[email-masked]>
Date: Mon, 04 Jan 2021 01:02:25 +0000

ZFS package is broken, and we should really recompile ZFS at each kernel update anyway.

This patchset includes:

* Patch 1:
  * Fixes for "util-linux" dependency which causes problems with mounting ZFS datasets.
  * Expose a "make-zfs-package" procedure to create kernel-specific ZFS packages as suggested here: https://issues.guix.gnu.org/45403#3
  * Add a service "zfs-loader-service-type" that provisions "zfs-loader", that modprobes ZFS and automounts ZFS datasets at bootup. The latter behavior is what is expected of ZFS from other OSs, so it's best to imitate that as well.
  * Document how to set up and use the above.
  * This makes ZFS on Guix actually *possible*.  Tested in a VM.
* Patch 2:
  * Make the "file-systems" provisioning service a target similar to "user-processes", so that other services can insert themselves into "file-systems" mounting.
  * Make the "zfs-loader" part of the "file-systems" target if it is instantiated.
  * This enables /home on ZFS (previous patch is not enough as "user-homes" service is part of the "user-processes"; we need to make ZFS loading and mounting earlier).
* Patch 3
  * Disable checking of "device" field for declared file-systems that are of type "zfs".
  * Make file-systems of type "zfs" dependent on "zfs-loader" to ensure that "zfs" module is loaded and all pools are imported and known by the ZFS module.
  * This enables declaring ZFS datasets as (file-system ...) declarations, if the sysad wants to explicitly document the mountpoints in the configuration file rather than having ZFS manage mountpoints.