unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: ludo@gnu.org (Ludovic Courtès)
To: John Darrington <john@darrington.wattle.id.au>
Cc: guix-devel@gnu.org, John Darrington <jmd@gnu.org>
Subject: Re: [PATCH] gnu: Allow nfs filesystems to be automatically mounted.
Date: Thu, 24 Nov 2016 17:08:37 +0100	[thread overview]
Message-ID: <8760nc6et6.fsf@gnu.org> (raw)
In-Reply-To: <20161123233258.GA17068@jocasta.intra> (John Darrington's message of "Thu, 24 Nov 2016 00:32:58 +0100")

John Darrington <john@darrington.wattle.id.au> skribis:

> It's also instructive to experiment a bit by running a command like:
>
>  sudo strace mount -v :/export/junk  -o addr=192.168.0.125 /mnt
> in which one can see the system call: 
> mount(":/export/junk", "/mnt", "nfs", MS_MGC_VAL, "addr=192.168.0.125") = 0

Oooh, in that case the patch makes perfect sense.  Thanks for
explaining!

> diff --git a/gnu/build/file-systems.scm b/gnu/build/file-systems.scm
> index 0d55e91..c6fc784 100644
> --- a/gnu/build/file-systems.scm
> +++ b/gnu/build/file-systems.scm
> @@ -481,7 +481,21 @@ run a file system check."
>               (call-with-output-file mount-point (const #t)))
>             (mkdir-p mount-point))
>  
> -       (mount source mount-point type flags options)
> +       (mount source mount-point type flags
> +              (cond
> +               ((string-match "^nfs.*" type)
> +                (let* ((host (car (string-split source #\:)))
> +                       (aa (car (getaddrinfo host #f)))
> +                       (sa (addrinfo:addr aa))
> +                       (inet-addr (inet-ntop (sockaddr:fam sa)
> +                                             (sockaddr:addr sa))))
> +                  (string-append "addr="
> +                                 inet-addr
> +                                 (if options
> +                                     (string-append "," options)
> +                                     ""))))
> +               (else
> +                options)))

Could we write it as:

  (if (string-prefix? "nfs" type)
      (mount-nfs source mount-point type flags options)
      (mount source mount-point type flags options))

and have a separate:

  (define (mount-nfs source mount-point type flags options)
    …)

?

Also, the code above must be changed to use ‘match’ instead of ‘car’.

It should be (getaddrinfo host "nfs") instead of (getaddrinfo host #f).

I’m assuming the syntax for SOURCE doesn’t allow one to specify a TCP
port.  Is this correct?

Thanks,
Ludo’.

  reply	other threads:[~2016-11-24 16:08 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-11-10 21:14 [PATCH 1/4] gnu: Separate util-linux into three packages John Darrington
2016-11-10 21:14 ` [PATCH 2/4] gnu: nfs-utils: Change input from util-linux to util-linux/mount John Darrington
2016-11-10 21:14 ` [PATCH 3/4] gnu: Move util-linux/mount to new file and deal with the effects John Darrington
2016-11-10 21:14 ` [PATCH 4/4] Add fs-search paths to util-linux John Darrington
2016-11-11 14:43 ` [PATCH 1/4] gnu: Separate util-linux into three packages Hartmut Goebel
2016-11-11 16:03   ` John Darrington
2016-11-11 16:40     ` Hartmut Goebel
2016-11-11 19:36       ` John Darrington
2016-11-12 14:53 ` Ludovic Courtès
2016-11-12 15:28   ` John Darrington
2016-11-12 17:09     ` John Darrington
2016-11-12 22:55       ` Ludovic Courtès
2016-11-13  8:21         ` John Darrington
2016-11-13 11:59           ` Ludovic Courtès
2016-11-13 14:06             ` John Darrington
2016-11-14  9:48               ` Ludovic Courtès
2016-11-14 17:46                 ` John Darrington
2016-11-15 10:46                   ` Ludovic Courtès
2016-11-16 21:06                     ` mount syscall John Darrington
2016-11-17  9:47                       ` Ludovic Courtès
2016-11-22 19:15                         ` [PATCH] gnu: Allow nfs filesystems to be automatically mounted John Darrington
2016-11-23 22:07                           ` Ludovic Courtès
2016-11-23 23:32                             ` John Darrington
2016-11-24 16:08                               ` Ludovic Courtès [this message]
2016-11-26  9:36                                 ` [PATCH] gnu: Allow nfs file systems " John Darrington
2016-11-26 18:37                                   ` Ludovic Courtès
2016-11-26 19:33                                     ` John Darrington
2016-11-28 13:59                                       ` Ludovic Courtès
2016-11-28 14:07                                         ` John Darrington
2016-11-28 21:05                                           ` Ludovic Courtès
2016-11-29  6:27                                             ` John Darrington
2016-11-29 21:51                                               ` Ludovic Courtès

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=8760nc6et6.fsf@gnu.org \
    --to=ludo@gnu.org \
    --cc=guix-devel@gnu.org \
    --cc=jmd@gnu.org \
    --cc=john@darrington.wattle.id.au \
    /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).