From: raid5atemyhomework via Guix-patches via <guix-patches@gnu.org>
To: Xinglu Chen <public@yoctocell.xyz>
Cc: "45692@debbugs.gnu.org" <45692@debbugs.gnu.org>
Subject: [bug#45692] [PATCH v4 3/3] gnu: Add ZFS service type.
Date: Mon, 06 Sep 2021 10:52:45 +0000 [thread overview]
Message-ID: <TkQVzGpSd-9nTC6ySmiXXhv44YUNayYAYe8w9Jtmqx_mlY4hQqgnGStksZG9HOaXjHTz9bHs3bhI43CLiQhHLEuBDA_xZGXnd6rGoEutyuk=@protonmail.com> (raw)
In-Reply-To: <87k0jw3upm.fsf@yoctocell.xyz>
Hello Xinglu Chen,
Thank you for your interest.
> You might want to bring up the topic of subsystem maintainers on the
> guix-devel mailing list to get some more attention.
Not personally interested.
> > +The above will keep 8 @code{frequent} snapshots and 12 @code{hourly} snapshots.
> > +@code{daily}, @code{weekly}, and @code{monthly} snapshots will keep their
> > +defaults (31 @code{daily}, 8 @code{weekly}, and 12 @code{monthly}).
> > +
> > +@end table
> > +@end deftp
>
> IIUC, there is not way specify ZFS pools in the ‘file-systems’ field of
> an <operating-system> record. Does this mean that ZFS as the root file
> system is not supported, and if so, is there a particular reason for
> this?
No, and as you saw, that requires some more work.
In particular, older versions of this patchset included the ability to add ZFS pools / datasets `file-system` objects, but the exact implementation was objected to, with no suggestion for what alternative to use instead. Since I thought it was contentious, I removed it entirely instead.
Note that ZFS-on-Root on Guix is even harder because of the need to put loading in `initrd`, and a lot of coding as well, not just `file-system`s support.
Given the sheer lack of review and etc etc, I am not encouraged to write more code that will remain unreviewed and unmerged. Maybe if this gets merged as-is, I will, but otherwise, I don't see the point.
> The field name usually just contains the package name, so ‘zfs’ and
> ‘zfs-auto-snapshot’ instead of ‘base-zfs’ and ‘base-zfs-auto-snapshot’.
The point is that the service does **NOT** use `base-zfs` directly --- it creates a new version of that package, targeted towards the specific kernel you provided. This is necessary since internal kernel APIs and ABIs may change between versions, even minor v==ersions (Linux has no commitment to keeping kernel interfaces stable, it only has a commitment to keeping userspace interfaces stable, and OpenZFS **requires** the kernel interfaces, so it is safest to compile specifically to the kernel version that is used).
Thus the ***`base-`*** prefixes: the `zfs-service-type` does not use the `base-zfs` and `base-zfs-autosnapshot` packages as-is, they are instead used as the basis for the actual packages that are compiled and installed into the system. I thought this would be sufficiently different from other services, which use package names as-is (but use the packages as-is, without inheriting from them, unlike this service) that the `base-` prefix was justified.
> > - ;; Output to current-error-port, otherwise the
> >
> >
> > - ;; user will not see any prompts for passwords
> >
> >
> > - ;; of encrypted datasets.
> >
> >
> > - ;; XXX Maybe better to explicitly open /dev/console ?
> >
> >
>
> Seeing this comment, I assume that encrypted pools are supported, right?
Encrypted datasets are supported, yes. If you set `keylocation=prompt` then the `init` process will pause and ask for the password on the console. You can even use `keylocation=file:///some/keyfile`, I also tested that in a VM. My own production setup (which doesn't use this service, but includes some code copy-pasted from this service) uses `keylocation=file:///*elided*`.
> > - '(frequent hourly daily weekly monthly))))
> >
> >
>
> Maybe use something like
>
> (map first %default-auto-snapshot-keep)
>
> to avoid having to changing it if things change in the future.
Good idea, thank you.
Thanks
raid5atemyhomework
next prev parent reply other threads:[~2021-09-06 10:53 UTC|newest]
Thread overview: 81+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-01-06 15:52 [bug#45692] [PATCH 0/4] Even Better ZFS Support on Guix raid5atemyhomework via Guix-patches via
2021-01-06 15:54 ` [bug#45692] [PATCH 1/4] gnu: Allow services to install kernel-loadable modules raid5atemyhomework via Guix-patches via
2021-01-08 16:16 ` raid5atemyhomework via Guix-patches via
2021-02-10 14:13 ` [bug#45692] [PATCH 0/4] Even Better ZFS Support on Guix Ludovic Courtès
2021-02-10 15:44 ` Ludovic Courtès
2021-02-10 16:49 ` raid5atemyhomework via Guix-patches via
2021-01-06 15:55 ` [bug#45692] [PATCH 2/4] gnu: Make file-systems target extensible by services raid5atemyhomework via Guix-patches via
2021-01-23 13:05 ` 宋文武
2021-01-25 0:18 ` guix-patches--- via
2021-02-10 14:17 ` [bug#45692] [PATCH 0/4] Even Better ZFS Support on Guix Ludovic Courtès
2021-02-10 14:46 ` raid5atemyhomework via Guix-patches via
2021-01-06 15:56 ` [bug#45692] [PATCH 3/4] gnu: Fix ZFS package raid5atemyhomework via Guix-patches via
2021-01-07 8:23 ` Danny Milosavljevic
2021-01-06 15:57 ` [bug#45692] [PATCH 4/4] gnu: Add ZFS service raid5atemyhomework via Guix-patches via
2021-01-06 19:41 ` [bug#45703] kernel-module-configuration-service for configuring kernel parameters Danny Milosavljevic
2021-01-07 0:04 ` raid5atemyhomework via Guix-patches via
2021-01-07 5:38 ` [bug#45692] " raid5atemyhomework via Guix-patches via
2021-01-07 9:16 ` [bug#42193] " raid5atemyhomework via Guix-patches via
2021-01-08 15:02 ` [bug#45692] [PATCH 4/4] gnu: Add ZFS service raid5atemyhomework via Guix-patches via
2021-01-09 8:31 ` raid5atemyhomework via Guix-patches via
2021-02-08 3:31 ` Danny Milosavljevic
2021-02-08 6:25 ` raid5atemyhomework via Guix-patches via
2021-02-10 14:27 ` [bug#45692] [PATCH 0/4] Even Better ZFS Support on Guix Ludovic Courtès
2021-02-10 14:32 ` raid5atemyhomework via Guix-patches via
2021-02-13 1:49 ` raid5atemyhomework via Guix-patches via
2021-03-22 14:33 ` [bug#45692] [PATCH v3 0/3] New patch series for " raid5atemyhomework via Guix-patches via
2021-03-28 12:55 ` Léo Le Bouter via Guix-patches via
2021-03-29 4:39 ` raid5atemyhomework via Guix-patches via
2021-07-23 15:11 ` raid5atemyhomework via Guix-patches via
2021-03-22 14:33 ` [bug#45692] [PATCH v3 1/3] gnu: Allow services to install kernel-loadable modules raid5atemyhomework via Guix-patches via
2021-05-11 14:17 ` Danny Milosavljevic
2021-03-22 14:34 ` [bug#45692] [PATCH v3 2/3] gnu: Add zfs-auto-snapshot raid5atemyhomework via Guix-patches via
2021-05-11 14:05 ` Danny Milosavljevic
2021-05-13 1:21 ` raid5atemyhomework via Guix-patches via
2021-05-13 13:08 ` Danny Milosavljevic
2021-03-22 14:35 ` [bug#45692] [PATCH v3 3/3] gnu: Add ZFS service type raid5atemyhomework via Guix-patches via
2021-07-25 14:03 ` raid5atemyhomework via Guix-patches via
2021-07-25 14:31 ` [bug#45692] [PATCH v4 " raid5atemyhomework via Guix-patches via
2021-08-01 9:41 ` raid5atemyhomework via Guix-patches via
2021-08-10 11:43 ` raid5atemyhomework via Guix-patches via
2021-08-31 0:48 ` raid5atemyhomework via Guix-patches via
2021-09-02 20:57 ` Maxime Devos
2021-09-02 22:22 ` Maxime Devos
2021-09-03 12:41 ` raid5atemyhomework via Guix-patches via
2021-09-04 18:58 ` raid5atemyhomework via Guix-patches via
2021-09-06 8:08 ` zimoun
2021-09-06 10:40 ` Maxime Devos
2021-09-06 11:08 ` raid5atemyhomework via Guix-patches via
2021-09-06 17:17 ` zimoun
2021-09-07 9:54 ` Maxime Devos
2021-09-08 1:23 ` raid5atemyhomework via Guix-patches via
2021-09-15 14:04 ` raid5atemyhomework via Guix-patches via
2021-09-21 9:42 ` zimoun
2021-09-04 21:19 ` Xinglu Chen
2021-09-06 10:52 ` raid5atemyhomework via Guix-patches via [this message]
2021-09-06 14:22 ` Xinglu Chen
2021-09-02 21:24 ` [bug#45692] Gaslighting Mason Loring Bliss
2021-09-03 12:22 ` Maxime Devos
2021-09-06 7:59 ` [bug#45692] zimoun
2021-09-30 14:56 ` [bug#45692] [PATCH v5 3/3] gnu: Add ZFS service type raid5atemyhomework via Guix-patches via
2021-10-19 13:18 ` raid5atemyhomework via Guix-patches via
2021-10-27 7:30 ` raid5atemyhomework via Guix-patches via
2021-10-27 16:38 ` pelzflorian (Florian Pelz)
2021-11-30 15:26 ` raid5atemyhomework via Guix-patches via
2021-12-12 13:32 ` raid5atemyhomework via Guix-patches via
2021-12-21 21:15 ` [bug#45643] [PATCH 0/3] Better Support for ZFS on Guix Brice Waegeneire
2022-01-01 11:59 ` [bug#45692] bug#45643: " raid5atemyhomework via Guix-patches via
2022-01-19 14:24 ` raid5atemyhomework via Guix-patches via
2022-01-07 4:21 ` [bug#45692] " raid5atemyhomework via Guix-patches via
2022-02-14 14:10 ` raid5atemyhomework via Guix-patches via
2022-02-18 7:13 ` raid5atemyhomework via Guix-patches via
2022-03-16 23:44 ` raid5atemyhomework via Guix-patches via
2022-03-17 8:24 ` Liliana Marie Prikler
2022-03-17 17:22 ` Maxime Devos
2022-03-17 18:38 ` zimoun
2022-03-17 19:10 ` Maxime Devos
2022-03-19 14:24 ` raid5atemyhomework via Guix-patches via
2022-03-20 4:42 ` Maxim Cournoyer
2022-03-19 14:09 ` raid5atemyhomework via Guix-patches via
2022-03-19 16:22 ` Leo Famulari
2022-03-19 14:25 ` [bug#45692] (No Subject) raid5atemyhomework via Guix-patches via
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://guix.gnu.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='TkQVzGpSd-9nTC6ySmiXXhv44YUNayYAYe8w9Jtmqx_mlY4hQqgnGStksZG9HOaXjHTz9bHs3bhI43CLiQhHLEuBDA_xZGXnd6rGoEutyuk=@protonmail.com' \
--to=guix-patches@gnu.org \
--cc=45692@debbugs.gnu.org \
--cc=public@yoctocell.xyz \
--cc=raid5atemyhomework@protonmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).