Subject: Re: bug#25043: mount is unable to locate mount helpers

From: John Darrington <[email-masked]>
Date: Tue, 29 Nov 2016 12:16:07 +0100

This was recently fixed in the core-updates branch.

J'
On Sun, Nov 27, 2016 at 03:18:41PM +0100, Tom???? ??ech wrote:
     mount command from util-linux is expecting helpers in /sbin/
     directory, which is not available on GuixSD.
     
     If found it when I tried to mount manully NFS:
     
      # mount -t nfs server:/some/path /mnt
     
     Manual page of `mount' - section EXTERNAL HELPERS and strace seems to agree:
     
     ...
     stat("/sbin/mount.nfs", 0x7ffe421e9080) = -1 ENOENT (No such file or directory)
     stat("/sbin/fs.d/mount.nfs", 0x7ffe421e9080) = -1 ENOENT (No such file or directory)
     stat("/sbin/fs/mount.nfs", 0x7ffe421e9080) = -1 ENOENT (No such file or directory)
     getuid()                                = 0
     geteuid()                               = 0
     getgid()                                = 0
     getegid()                               = 0
     prctl(PR_GET_DUMPABLE)                  = 1
     getuid()                                = 0
     geteuid()                               = 0
     getgid()                                = 0
     getegid()                               = 0
     prctl(PR_GET_DUMPABLE)                  = 1
     stat("/run", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
     lstat("/etc/mtab", {st_mode=S_IFLNK|0777, st_size=17, ...}) = 0
     lstat("/run/mount/utab", {st_mode=S_IFREG|0644, st_size=0, ...}) = 0
     open("/run/mount/utab", O_RDWR|O_CREAT|O_CLOEXEC, 0644) = 3
     close(3)                                = 0
     mount("disk:/", "/mnt", "nfs", MS_MGC_VAL, NULL) = -1 EINVAL (Invalid argument)
     write(2, "mount: ", 7mount: )                  = 7
     write(2, "wrong fs type, bad option, bad s"..., 110wrong fs type, bad option, bad superblock on disk:/,
            missing codepage or helper program, or other error) = 110
     write(2, "\n", 1
     )                       = 1
     write(2, "       (for several filesystems "..., 108       (for several filesystems (e.g. nfs, cifs) you might
            need a /sbin/mount.<type> helper program)
     ) = 108
     write(2, "\n       In some cases useful inf"..., 86
            In some cases useful info is found in syslog - try
            dmesg | tail or so.
     ) = 86
     close(1)                                = 0
     close(2)                                = 0
     exit_group(32)                          = ?
     +++ exited with 32 +++

     The best approach to me seems to patch mount so it search PATH or
     introduce some other environment variable to search helpers in.

-- 
Avoid eavesdropping.  Send strong encrypted email.
PGP Public key ID: 1024D/2DE827B3 
fingerprint = 8797 A26D 0854 2EAB 0285  A290 8A67 719C 2DE8 27B3
See http://sks-keyservers.net or any PGP keyserver for public key.