From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp0 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms11 with LMTPS id sIU8GvbxI2CrCQAA0tVLHw (envelope-from ) for ; Wed, 10 Feb 2021 14:47:18 +0000 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp0 with LMTPS id uGIpFvbxI2BZKgAA1q6Kng (envelope-from ) for ; Wed, 10 Feb 2021 14:47:18 +0000 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id BBE1E9402AB for ; Wed, 10 Feb 2021 14:47:17 +0000 (UTC) Received: from localhost ([::1]:36366 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1l9qlw-0001VC-Jd for larch@yhetil.org; Wed, 10 Feb 2021 09:47:16 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:43862) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1l9qli-0001Tk-Lx for guix-patches@gnu.org; Wed, 10 Feb 2021 09:47:02 -0500 Received: from debbugs.gnu.org ([209.51.188.43]:44285) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1l9qli-00083S-Aw for guix-patches@gnu.org; Wed, 10 Feb 2021 09:47:02 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1l9qli-0003x6-8T for guix-patches@gnu.org; Wed, 10 Feb 2021 09:47:02 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#45692] [PATCH 0/4] Even Better ZFS Support on Guix Resent-From: raid5atemyhomework Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 10 Feb 2021 14:47:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 45692 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Ludovic =?UTF-8?Q?Court=C3=A8s?= Cc: =?UTF-8?Q?=E5=AE=8B=E6=96=87=E6=AD=A6?= , "45692@debbugs.gnu.org" <45692@debbugs.gnu.org> Received: via spool by 45692-submit@debbugs.gnu.org id=B45692.161296841815182 (code B ref 45692); Wed, 10 Feb 2021 14:47:02 +0000 Received: (at 45692) by debbugs.gnu.org; 10 Feb 2021 14:46:58 +0000 Received: from localhost ([127.0.0.1]:55831 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1l9qld-0003wn-VW for submit@debbugs.gnu.org; Wed, 10 Feb 2021 09:46:58 -0500 Received: from mail-40138.protonmail.ch ([185.70.40.138]:43652) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1l9qla-0003wZ-VJ for 45692@debbugs.gnu.org; Wed, 10 Feb 2021 09:46:56 -0500 Date: Wed, 10 Feb 2021 14:46:43 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com; s=protonmail; t=1612968408; bh=+P5ouiEcYLvUVQm8glVp+e1u+fQuAdb8u0ce7sgJdxY=; h=Date:To:From:Cc:Reply-To:Subject:In-Reply-To:References:From; b=D64u2AO96kFAlJGLlsuQnIq4N+lZ3V2JJ22L04sW9x5MfYOv8TlmvSWsdh5Eg+DKk hvb/ga/iCPhcYjsgidofss9l9OrQwA1rjoMUyKOjvN9z9Odg5GDCiyzX1DSYadOkPZ +qO5TKWxvB/daGRuz6NJ81r++vcy7mo7Ye2MkF1I= Message-ID: In-Reply-To: <87sg646m7y.fsf_-_@gnu.org> References: <87sg646m7y.fsf_-_@gnu.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+larch=yhetil.org@gnu.org Sender: "Guix-patches" Reply-to: raid5atemyhomework X-ACL-Warn: , raid5atemyhomework via Guix-patches From: raid5atemyhomework via Guix-patches via X-Migadu-Flow: FLOW_IN X-Migadu-Spam-Score: -2.86 Authentication-Results: aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=protonmail.com header.s=protonmail header.b=D64u2AO9; dmarc=pass (policy=none) header.from=gnu.org; spf=pass (aspmx1.migadu.com: domain of guix-patches-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-patches-bounces@gnu.org X-Migadu-Queue-Id: BBE1E9402AB X-Spam-Score: -2.86 X-Migadu-Scanner: scn0.migadu.com X-TUID: RQttTH8tfKhM > Why do we need to extend with symbols? > > In general it=E2=80=99s much clearer if extensions receive only one type = of > object ( records in this case). It=E2=80=99s also best to av= oid > passing around symbolic names (that=E2=80=99s why we extend with > records rather than with Shepherd service names or whatever.) For this case, how would it be done? ZFS file system, on other operating systems and distributions, is documente= d as automatically mounting filesystems, without management in an `fstab` o= r similar file, because the intent is that you would make lots of filesyste= ms for various uses and managing an `fstab` would be too onerous. Thus, ZF= S file system expects to mount multiple file systems with a single `zfs mou= nt -a` command at startup. Would the below sketch be acceptable? ```scheme ; gnu/system/file-systems.scm (define-record-type* file-system #;... #;... (has-fstab-entry? file-system-has-fstab-entry? (default #t))) ;... ; gnu/services/base,scm (define file-system-service-type (service-type #;... (extensions (list #;... (service-extension fstab-service-type (lambda (file-systems) (filter file-system-has-fstab-entry? file-systems))) #;...)) #;...)) ;... ; gnu/services/file-systems.scm (define zfs-service-type (service-type #;... (extensions (list #;... (service-extension file-system-service-type (const (list (file-system (device "dummy") (mount-point "zfs/= *") (has-fstab-entry? = #f))))))) #;...)) ``` Then there will be a Shepherd service providing `file-system-zfs/*` which w= ould perform `zfs mount -a -l` on `start` and `zfs unmount -a -f` on `stop`= . Would that be acceptable? I am wary of this since it creates a dummy file-= system and needs an additional field on every `file-system` record, one whi= ch is *only* used by ZFS. I feel the `file-system-target-service-type` is = more generic and does not use trickery. Thanks raid5atemyhomework