From mboxrd@z Thu Jan 1 00:00:00 1970 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) Subject: Re: [PATCH 2/2] gnu: Add GSSD and Pipefs services Date: Tue, 13 Sep 2016 13:45:19 +0200 Message-ID: <87bmzs6n1s.fsf@gnu.org> References: <1473535083-5326-1-git-send-email-jmd@gnu.org> <1473535083-5326-2-git-send-email-jmd@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:54480) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bjm9b-0001Vj-KN for guix-devel@gnu.org; Tue, 13 Sep 2016 07:45:32 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bjm9V-0007S8-HT for guix-devel@gnu.org; Tue, 13 Sep 2016 07:45:30 -0400 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:55201) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bjm9V-0007Rn-Dy for guix-devel@gnu.org; Tue, 13 Sep 2016 07:45:25 -0400 In-Reply-To: <1473535083-5326-2-git-send-email-jmd@gnu.org> (John Darrington's message of "Sat, 10 Sep 2016 21:18:03 +0200") List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: John Darrington Cc: guix-devel@gnu.org John Darrington skribis: > * gnu/services/nfs.scm (pipefs-service-type): New Variable, > (gss-service-type): New Variable. Nice! Minor comments below: > -@node Miscellaneous Services > -@subsubsection Miscellaneous Services > +@node NFS Services > +@subsubsection NFS Services I would call it =E2=80=9CNetwork File System Services=E2=80=9D or just =E2= =80=9CNetwork File System=E2=80=9D. > +@cindex nfs NFS. > +The @code{(gnu services nfs)} module provides the following services, > +which are most commonly used in relation to mouting or exporting NFS > +filesystems. =E2=80=9C=E2=80=A6 to mounting or exporting files using the @dfn{Network Fi= le System} (NFS).=E2=80=9D (Always write =E2=80=9Cfile system=E2=80=9D as two words.) > +@subsubheading GSS Daemon Service > +@cindex gssd > +@cindex gss > + > +@defvr {Scheme Variable} gss-service-type > +A service type for the RPC Global Security System (GSS) daemon. ^^ Extra space. Is =E2=80=9CRPC=E2=80=9D needed here, or is it more generic? Would be nice to add a sentence like =E2=80=9CThe GSS daemon provides mecha= nism XYZ, which can be used to implement FOOBAR.=E2=80=9D, where FOOBAR has some connection with NFS. I don=E2=80=99t know myself what to put in here but hopefully there=E2=80=99s a README or something that can shed some light. = :-) > +@deftp {Data Type} gss-configuration > +Data type representing the configuration of the RPC GSS Daemon service. > +This type has the following parameters: > +@table @asis > +@item @code{nfs-utils} (default: @code{nfs-utils}) ^^^^^ Should be @var, because here we=E2=80=99re talking about the value of the =E2=80=98nfs-utils=E2=80=99 global variable. > +@defvr {Scheme Variable} pipefs-service-type > +A service type for the pipefs pseudo filesystem. ^^ s/pipefs pseudo filesystem/@code{rpc_pipefs} pseudo file system/ + =E2=80=9C=E2=80=A6 implemented by the kernel Linux.=E2=80=9D + =E2=80=9CThe @command{rpc_pipefs} allows for communication between the ke= rnel and the user-land NFS daemons.=E2=80=9D > +@deftp {Data Type} pipefs-configuration > +Data type representing the configuration of the pipefs service. > +There are no configurable parameters to this type. > +@end deftp Not necessary (see below). > +@node Miscellaneous Services > +@subsubsection Miscellaneous Services Oops! > +(define-record-type* > + pipefs-configuration make-pipefs-configuration > + pipefs-configuration?) Since there=E2=80=99s really no configuration here, it=E2=80=99s not needed. > +(define pipefs-service-type > + (shepherd-service-type > + 'pipefs > + (lambda (config) > + (with-imported-modules '((gnu build file-systems) > + (guix build bournish)) > + (define pipefs-dir "/var/lib/nfs/rpc_pipefs") > + > + (shepherd-service > + (documentation "Mount the pipefs pseudo filesystem.") > + (provision '(rpc-pipefs)) > + > + (start #~(lambda () > + (mkdir-p #$pipefs-dir) > + (mount "rpc_pipefs" #$pipefs-dir "rpc_pipefs"))) > + (stop #~(lambda (pid . args) > + (umount #$pipefs-dir MNT_DETACH)))))))) You could achieve something similar by extending =E2=80=98file-system-servi= ce=E2=80=99, like =E2=80=98elogind-service-type=E2=80=99 does. Could you try if it work= s here? In that case, the name of the Shepherd service would become =E2=80=9Cfile-system-/var/lib/nfs/rpc_pipefs=E2=80=9D. > + (define pkg > + (gss-configuration-gss config)) s/pkg/nfs-utils/ Could you send an updated patch? Thanks for working on it! Ludo=E2=80=99.