Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 180425 - net-fs/nfs-utils - rpc.idmapd init script can't start because rpc_pipefs isn't created
Summary: net-fs/nfs-utils - rpc.idmapd init script can't start because rpc_pipefs isn'...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Network Filesystems
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-05-31 09:20 UTC by Maurice Volaski
Modified: 2007-12-29 09:29 UTC (History)
3 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Maurice Volaski 2007-05-31 09:20:37 UTC
In an existing, older installation where nfsv4 client was working, emerging to the current version caused it stop working. Among other problems, the init script rpc.idmapd complains

* Mounting RPC pipefs ...
mount: mount point /var/lib/nfs/rpc_pipefs does not exist                                                             [ !! ]

I believe it should be created by the script or at the very least by on installation of the nfsutils ebuild.
Comment 1 Gilles Dartiguelongue (RETIRED) gentoo-dev 2007-08-12 19:14:28 UTC
it works with nfs-utils-1.1.0 here,

I think it's either nfsmount or nfs init script that creates this folder.
Comment 2 Renato Caldas 2007-09-30 18:42:15 UTC
This is a real bug, but usually not triggered.

The file is created by /etc/init.d/nfs, but nfs isn't a dependency of rpc.idmapd. So you can actually try to start rpc.idmapd before the directory is created, which generates the error.
Comment 3 Maurice Volaski 2007-10-04 19:09:12 UTC
The nfs init script does indeed have to code to create this directory, but it's still not working on my system with nfs-utils-1.1.0-r1.
Comment 4 Jan Oravec 2007-10-10 10:24:03 UTC
I guess the init.d scripts have to be refactored. AFAIK, pipefs is used by different daemons (at least rpc.idmapd and rpc.gssd), so mounting (and checking for directory existence) should be separated into another init.d script.

Currently, if rpc.gssd get started before rpc.idmapd, I get this error:

Oct 10 12:08:26 [rpc.gssd] ERROR: failed to open /var/lib/nfs/rpc_pipefs/nfs: No such file or directory_

When we are at refactoring init.d scripts, I would propose splitting rpc.gssd (used by client) and rpc.svcgssd (used by server). I see no point in starting both daemons on client-only or server-only machines.
Comment 5 Renato Caldas 2007-10-10 10:39:00 UTC
(In reply to comment #4)
> When we are at refactoring init.d scripts, I would propose splitting rpc.gssd
> (used by client) and rpc.svcgssd (used by server). I see no point in starting
> both daemons on client-only or server-only machines.

Probably it would be best to have only two scripts, one for "server" and another for "client". Too many scripts are a mess for those (like me) that only want to start the server when needed.

As for the server script, there should be a better way for detecting/specifying if nfs4 is to be used (to start idmapd). This only works for a client, if there is a nfs4 line in fstab. Afaik there's currently no auto-detection for a server, nor a way to set it to be started with nfs.
Comment 6 Jan Oravec 2007-10-10 10:54:09 UTC
I would vote for split init.d scripts, but with proper (autodetected?) dependencies. So you just have to start nfs for server and nfsmount for client. And also configure something in conf.d properly.

Single init.d script is not good. When single service crashs, you cannot trivially start/stop it and you will have inconsistent system state.
Comment 7 Renato Caldas 2007-10-10 12:33:30 UTC
Fair enough. I wonder when will the net fs guys say something.. They seem a bit silent.
Comment 8 SpanKY gentoo-dev 2007-12-29 09:29:31 UTC
added the dir check to rpc.idmapd as well

http://sources.gentoo.org/net-fs/nfs-utils/files/rpc.idmapd.initd?r1=1.3&r2=1.4