guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: ZFS on Guix, again


From: raid5atemyhomework
Subject: Re: ZFS on Guix, again
Date: Thu, 25 Feb 2021 05:08:50 +0000

Hi Ludo,

> > I agree with 宋文武 regarding ‘file-system-service-type’.
> > raid5atemyhomework raid5atemyhomework@protonmail.com skribis:
> >
> > > However, for the case where the user expects the "typical" ZFS style of 
> > > managing file systems, we need to mount all the ZFS file systems and 
> > > ensure that they aer all already mounted by the time `file-systems` 
> > > Shepherd service is started. This means we need to be able to extend the 
> > > `requirement` of the `file-systems` Shepherd service. And we need to do 
> > > that without putting any extra `/etc/fstab` entries since for "typical" 
> > > ZFS style of managing file systems, they are required to not be put in 
> > > `/etc/fstab`.
> >
> > Looks like this fstab issue is the main reason why you felt the need to
> > define an extra service type. Why is it important that ZFS not be
> > listed in /etc/fstab?
>
> Because on all non-Guix operating systems, they aren't listed in`/etc/fstab`:
>
> -   
> https://docs.oracle.com/cd/E19120-01/open.solaris/817-2271/gaztn/index.html


So what do we do here?

* Force all ZFS filesystems to be declared `mountpoint=legacy` and be written 
as `file-system` declarations in the `operating-system` (which will eventually 
reach `/etc/fstab`).
  * This is undesirable since ZFS users expect that setting up mount points for 
ZPOOL and ZFS datasets are just handled by the same commands that create the 
ZPOOL and ZFS dataset.  This is in contrast with other file systems where the 
creation of the filesystem is a separate step from adding its mount point.
  * If a ZFS filesystem is created or destroyed (for example I might want to 
create a temporary filesystem to `zfs send` to in order to implement 
defragmentation, or to recompress data if I forgot to set `compression=on`) 
then the user has to edit the configuration file and then  `guix system 
reconfigure` in order to make the changes stick.  Most ZFS users just create 
and destroy ZFS datasets as part of maintenance.
  * If Guix goes this way, most ZFS users (including me) will not consider ZFS 
support on Guix to be anywhere near "serviceable".
* Hack a `fstab?` field in `file-system` forms.
  * Arguably bad design.
* Just split up the Shepherd service into a `file-systems-target-service-type` 
and have `file-systems-service-type` extend it, like I already proposed before.

---

Also how about `linux-loadable-modules-service-type`? Is the proposed design 
okay?  Do we really want to name it `linux-loadable-modules-service-type` in 
contrast to the current `operating-system` field `kernel-loadable-modules`?

Thanks
raid5atemyhomework

Thanks
raid5atemyhomework



reply via email to

[Prev in Thread] Current Thread [Next in Thread]