PDA

View Full Version : rpc.mountd: bad path on nfs mount...


gilboa
13th June 2004, 09:24 PM
Hello all,

I've just upgraded a couple of my older RH9/FC1 servers to FC2.
While most of the upgrades were uneventful, I've got a weird problem. I cannot mount any of the shares on one of the NFS servers.
When I try to mount a share, be that local (on the server itself) or remote, I get (in the syslog)
Jun 13 11:15:00 nnn-nnnn-nnn rpc.mountd: bad path in mount request from x.x
.x.x: "/mnt/share name"
I disabled the firewall, tried mount with -o nfsvers=2 and 3. Nothing seem to work.

This happens with the vanilla kernel and with linux 2.6.6.

NFS kernel configuration:
CONFIG_NFS_FS=m
CONFIG_NFS_V3=y
CONFIG_NFS_V4=y
CONFIG_NFS_DIRECTIO=y
CONFIG_NFSD=m
CONFIG_NFSD_V3=y
CONFIG_NFSD_V4=y
CONFIG_NFSD_TCP=y

I tried both nfs-utils-1.0.6-20 and nfs-utils-1.0.6-22

Any ideas?

Cheers,

gilboa
15th June 2004, 03:28 AM
No-one?

arnuschky
25th June 2004, 02:00 AM

Hey, gilboa!

I have exactly the same problem. Upgraded from RedHat 9.0, and rpc.mountd -d all says:

rpc.mountd: bad path in mount request from ...

Did you find a solution?

Regards
Arne

flea
25th June 2004, 02:01 AM
did the config files get overwritten during upgrades

gilboa
25th June 2004, 02:11 AM
arnuschky,

Sadly enough... nope :(
I tried enabling and disabling the NFSv3 and v4... didn't help.

Flea,
I'm using a fresh kernel with a fresh configuration.

Cheers,

McChaos
1st July 2004, 11:02 PM
Hi,

can the NFS-Server resolve the hostnames given in /etc/exports? You can test it with 'dig hostname' on servers console.

Greetings...

gilboa
5th July 2004, 09:04 PM
Yep. Reverse lookup works.
The hostname sits within the /etc/hosts

Cheers,
Gibloa

bradthemad
6th July 2004, 12:52 AM
The only way I know for that particular error to ever happen is if the path you're trying to mount on the client doesn't start with a '/', e.g. "mount server:some/path" instead of "mount server:/some/path". If that doesn't explain the cause of your problem, can you post exactly what your mount command is, the corresponding export entry from /etc/exports, and the actual, unedited syslog message?

gilboa
6th July 2004, 01:10 AM
Server: (gilboa-work-dev)

$ cat /etc/exports
/mnt/Install/ 172.168.2.0/255.255.255.224(rw,sync)

$ cat /etc/hosts.allow
#
# hosts.allow This file describes the names of the hosts which are
# allowed to use the local INET services, as decided
# by the '/usr/sbin/tcpd' server.
#
portmap: 172.16.2.0/255.255.255.224
lockd: 172.16.2.0/255.255.255.224
rquotad: 172.16.2.0/255.255.255.224
mountd: 172.16.2.0/255.255.255.224
statd: 172.16.2.0/255.255.255.224

$ cat /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 localhost.localdomain localhost
172.16.2.1 gilboa-work-dev
172.16.2.2 gilboa-work-disp

Client: (gilboa-work-disp)
$ cd ~
$ mkdir temp
$ mount gilboa-work-dev:/mnt/Install tmp
mount: gilboa-work-dev:/mnt/Install failed, reason given by server: Permission denied

(Server: )
$ cat /var/log/messages | grep mountd
Jul 5 15:05:18 gilboa-work-dev rpc.mountd: bad path in mount request from 172.1
6.2.2: "/mnt/Install"

bradthemad
6th July 2004, 05:32 PM
What filesystem/device is /mnt/Install? Can you export another directory, such as /home, from this machine and mount it on that client? Can that client mount anything else from another server (if you have another)?

gilboa
6th July 2004, 08:58 PM
$ cat /proc/mounts | grep Install
/dev/sda4 /mnt/Install ext3 rw 0 0

I tried exporting the different directory. Same response.
The client can mount directories on another servers.

Cheers,

bradthemad
7th July 2004, 10:06 PM
I looked at the source to mountd, and there is literally only one check that can possibly result in that error, and it is whether the first character is '/' or not. And it sure looks like a '/' to me. Are these machines all using UTF-8? I'd be curious to see the environments that are being used:


gilboa-work-dev$ echo $LANG
gilboa-work-dev$ grep ^LANG /etc/sysconfig/i18n
gilboa-work-dev$ ps aex | grep '[r]pc.mountd'
gilboa-work-disp$ echo $LANG
gilboa-work-disp$ grep ^LANG /etc/sysconfig/i18n


Also, if you could run:


gilboa-work-dev# strace -v -o /tmp/nfs.out -p `pidof rpc.mountd`


...on the server just before trying to mount the share, hit Ctrl-C to kill it right afterward, and attach the output file to a post, that might provide a clue. If it doesn't, I give up.

gilboa
20th July 2004, 01:56 AM
Lang is en_US (had to disable the en_US.UTF-8 in the i18n due to console display problems on both client and servers)
rpc.mountd is running on the sever.

Am I losing it?

Sneff
9th August 2004, 01:17 PM
Had a similar problem - I removed the host restriction, in your case 172.168.2.0/255.255.255.224, and replaced it with * (any host) - it worked... I use firewall rules now instead...

--
Keith

gilboa
9th August 2004, 01:24 PM
Unfriggin believable! it works.
I was actually in the middle of building a debug version of monutd to try and debug the problem.... weird!

I'm in your debt! Thanks man!

kaz
9th September 2004, 10:22 AM
Hi.

It comes from /etc/rc.d/init.d/nfs.

Please edit from

[ -z "$MOUNTD_NFS_V3" ] && MOUNTD_NFS_V3=auto

to

MOUNTD_NFS_V3=Yes

and
/etc/rc.d/init.d/nfs restart

----------------------------------------------------
I fond it by
ps -efww | grep mount
And it shows like
root 7308 1 0 18:09 ? 00:00:00 rpc.mountd --no-nfs-version 2 --no-nfs-version 3

gilboa
9th September 2004, 10:55 AM
Thanks for the heads up... I'll try it later.
But I tried forcing an NFSv3 load and it didn't help.
Weird... I'll try it later.

I should add:
[gilboa@gilboa-work-dev script]$ ps eax | grep rpc.mountd | grep -v grep
3003 ? S 0:00 rpc.mountd


Cheers,
Gilboa