Re: unable to mount nfs4 mount

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Dec 26 2016, daggs wrote:

>> Can you strace mountd while you attempt a mount?
>> e.g.
>>   strace -o /tmp/trace -s 1000 -p 241
>> 
>> and send the /tmp/trace.
>> Also, after the attempt fails, run
>>  rpcdebug -m rpc -s cache
>>  grep . /proc/net/rpc/*/c*
>>  cat /proc/fs/nfsd/exports
>> 
>> and report the output.
>> 
> here:
>
> # cat /tmp/trace
> pselect6(1024, [3 4 5 7 8 9 10 11 12], NULL, NULL, NULL, NULL) = 1 (in [3])
> read(3, "nfsd 10.0.0.1\n", 32768)       = 14
> openat(AT_FDCWD, "/run/nfs/etab", O_RDONLY) = 14
> fstat(14, {st_mode=S_IFREG|0644, st_size=435, ...}) = 0
> close(14)                               = 0
> write(3, "nfsd 10.0.0.1 2079 10.0.0.0/24 \n", 32) = 32

This is weird.
Here mountd is telling nfsd that when a request comes from IP address
10.0.0.1, it should look for export entries associated with the client
name "10.0.0.0/24", which is good.
However the expiry time for that information is "2079", which is back in
January 1970.
When mountd writes that number, it computes it as
   time(0) + DEFAULT_TTL
where DEFAULT_TTL is (30 * 60)
Which suggests time(0) is "279".

What is the current time on this system?

If it really was very early on Jan 1st 1970, it should work, however...


> pselect6(1024, [3 4 5 7 8 9 10 11 12], NULL, NULL, NULL, NULL <detached ...>
> # rpcdebug -m rpc -s cache
> rpc        cache
> # grep . /proc/net/rpc/*/c*
> /proc/net/rpc/auth.unix.gid/content:#uid cnt: gids...
> /proc/net/rpc/auth.unix.ip/channel:nfsd 10.0.0.1
> /proc/net/rpc/auth.unix.ip/channel:nfsd 10.0.0.1
> /proc/net/rpc/auth.unix.ip/content:#class IP domain
> /proc/net/rpc/auth.unix.ip/content:# expiry=2079 refcnt=1 flags=1
> /proc/net/rpc/auth.unix.ip/content:# nfsd 10.0.0.1 10.0.0.0/24

...the fact that this line is commented out indicates that the entry in
the cache is already expired.  So the time must be after 2079.

Maybe the time is getting set from the network at an awkward time that
races with NFS service some how.
Can you find a way to run "exportfs -f" after the time has been set
correctly?

NeilBrown


> /proc/net/rpc/nfs4.idtoname/content:#domain type id [name]
> /proc/net/rpc/nfs4.nametoid/content:#domain type name [id]
> /proc/net/rpc/nfsd.export/content:#path domain(flags)
> /proc/net/rpc/nfsd.fh/content:#domain fsidtype fsid [path]
> # cat /proc/fs/nfsd/exports
> # Version 1.1
> # Path Client(Flags) # IPs
>
> Dagg.

Attachment: signature.asc
Description: PGP signature


[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux