tech-kern archive

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

Cannot list a particular directory through NFS with UDP



Hi list,

__ Please Cc: me when replying as I'm not subscribed.  Thanks. __

Here is a copy of a message I've sent to the freebsd-stable
mailing list a while back.  The NFS server is running FreeBSD 8.0 while
the client is running netbsd-5 branch from around 2009/12/12.  It seems,
according to the FreeBSD NFS developer Rick Macklem, that the problem
comes from the client side.  Here are the relevant messages:
http://lists.freebsd.org/pipermail/freebsd-stable/2009-December/053557.html
http://lists.freebsd.org/pipermail/freebsd-stable/2009-December/053720.html
http://lists.freebsd.org/pipermail/freebsd-stable/2009-December/053779.html

FWIW, I've tried changing rsize to 1024 and I could read the entire
tree.

Thanks for your help!
Regards,

----- Forwarded message from Jeremie Le Hen <jeremie%le-hen.org@localhost> -----

Date: Mon, 14 Dec 2009 00:06:50 +0100
From: Jeremie Le Hen <jeremie%le-hen.org@localhost>
To: freebsd-stable%FreeBSD.org@localhost
Cc: Rick Macklem <rmacklem%FreeBSD.org@localhost>
Subject: Cannot list a particular directory through NFS with UDP

Hi,

My NFS server is running FreeBSD 8.0 from December 6th.  The client is a
NetBSD 5.0.  The directory exported is /data/repos on the server
(192.168.1.222) and is mounted on /mnt/repos on the client (192.168.1.1).

The problem exists in /data/repos/netbsd-cvsroot/pkgsrc when using NFS
over UDP: ls(1) stalls.  OTOH, for instance, listing another directory
or using NFS over TCP work flawlessly.

"ktruss ls" shows the following:
%  26964      1 ls       open(".", 0, 0)             = 3
%  26964      1 ls       fcntl(0x3, 0x2, 0x1)        = 0
%  26964      1 ls       fchdir(0x3)                 = 0
%  26964      1 ls       open(".", 0, 0)             = 5
%  26964      1 ls       open(".", 0x4, 0)           = 6
%  26964      1 ls       fcntl(0x6, 0x2, 0x1)        = 0
%  26964      1 ls       __fstat30(0x6, 0xbfbfdef0)  = 0
%  26964      1 ls       fstatvfs1(0x6, 0xbfbfdf54, 0x2) = 0
%  26964      1 ls       lseek(0x6, 0, 0, 0, 0x1)    = 0
                                             <---------- stalls here


Here is a trace from the stalling ls(1).  Please ask me if you need more
informations:

23:58:37.735792 IP (tos 0x0, ttl 64, id 48150, offset 0, flags [none], proto 
UDP (17), length 168) 192.168.1.1.3819288088 > 192.168.1.222.2049: 140 lookup 
[|nfs]
23:58:37.736635 IP (tos 0x0, ttl 64, id 62453, offset 0, flags [none], proto 
UDP (17), length 264) 192.168.1.222.2049 > 192.168.1.1.3819288088: reply ok 236 
lookup [|nfs]
23:58:37.736727 IP (tos 0x0, ttl 64, id 48152, offset 0, flags [none], proto 
UDP (17), length 160) 192.168.1.1.3819288089 > 192.168.1.222.2049: 132 lookup 
[|nfs]
23:58:37.737232 IP (tos 0x0, ttl 64, id 18881, offset 0, flags [none], proto 
UDP (17), length 264) 192.168.1.222.2049 > 192.168.1.1.3819288089: reply ok 236 
lookup [|nfs]
23:58:37.737411 IP (tos 0x0, ttl 64, id 48153, offset 0, flags [none], proto 
UDP (17), length 152) 192.168.1.1.3819288090 > 192.168.1.222.2049: 124 access 
[|nfs]
23:58:37.737783 IP (tos 0x0, ttl 64, id 57308, offset 0, flags [none], proto 
UDP (17), length 148) 192.168.1.222.2049 > 192.168.1.1.3819288090: reply ok 120 
access attr: DIR 755 ids 0/0 [|nfs]
23:58:37.737927 IP (tos 0x0, ttl 64, id 48154, offset 0, flags [none], proto 
UDP (17), length 152) 192.168.1.1.3819288091 > 192.168.1.222.2049: 124 access 
[|nfs]
23:58:37.738412 IP (tos 0x0, ttl 64, id 21511, offset 0, flags [none], proto 
UDP (17), length 148) 192.168.1.222.2049 > 192.168.1.1.3819288091: reply ok 120 
access attr: DIR 755 ids 0/0 [|nfs]
23:58:37.738477 IP (tos 0x0, ttl 64, id 48155, offset 0, flags [none], proto 
UDP (17), length 152) 192.168.1.1.3819288092 > 192.168.1.222.2049: 124 access 
[|nfs]
23:58:37.738914 IP (tos 0x0, ttl 64, id 33831, offset 0, flags [none], proto 
UDP (17), length 148) 192.168.1.222.2049 > 192.168.1.1.3819288092: reply ok 120 
access attr: DIR 755 ids 0/0 [|nfs]
23:58:37.738990 IP (tos 0x0, ttl 64, id 48156, offset 0, flags [none], proto 
UDP (17), length 148) 192.168.1.1.3819288093 > 192.168.1.222.2049: 120 getattr 
[|nfs]
23:58:37.739377 IP (tos 0x0, ttl 64, id 26761, offset 0, flags [none], proto 
UDP (17), length 140) 192.168.1.222.2049 > 192.168.1.1.3819288093: reply ok 112 
getattr DIR 755 ids 0/0 [|nfs]
23:58:37.740301 IP (tos 0x0, ttl 64, id 48158, offset 0, flags [none], proto 
UDP (17), length 168) 192.168.1.1.3819288094 > 192.168.1.222.2049: 140 readdir 
[|nfs]
23:58:37.764039 IP (tos 0x0, ttl 64, id 46859, offset 0, flags [+], proto UDP 
(17), length 1500) 192.168.1.222.2049 > 192.168.1.1.3819288094: reply ok 1472 
readdir POST: DIR 755 ids 0/0 [|nfs]
23:58:37.764088 IP (tos 0x0, ttl 64, id 46859, offset 1480, flags [none], proto 
UDP (17), length 632) 192.168.1.222 > 192.168.1.1: udp
23:58:43.353108 IP (tos 0x0, ttl 64, id 48242, offset 0, flags [none], proto 
UDP (17), length 168) 192.168.1.1.3819288094 > 192.168.1.222.2049: 140 readdir 
[|nfs]
23:58:43.353640 IP (tos 0x0, ttl 64, id 35118, offset 0, flags [+], proto UDP 
(17), length 1500) 192.168.1.222.2049 > 192.168.1.1.3819288094: reply ok 1472 
readdir POST: DIR 755 ids 0/0 [|nfs]
23:58:43.353687 IP (tos 0x0, ttl 64, id 35118, offset 1480, flags [none], proto 
UDP (17), length 632) 192.168.1.222 > 192.168.1.1: udp
23:58:54.587373 IP (tos 0x0, ttl 64, id 48349, offset 0, flags [none], proto 
UDP (17), length 168) 192.168.1.1.3819288094 > 192.168.1.222.2049: 140 readdir 
[|nfs]
23:58:54.587822 IP (tos 0x0, ttl 64, id 20689, offset 0, flags [+], proto UDP 
(17), length 1500) 192.168.1.222.2049 > 192.168.1.1.3819288094: reply ok 1472 
readdir POST: DIR 755 ids 0/0 [|nfs]
23:58:54.587875 IP (tos 0x0, ttl 64, id 20689, offset 1480, flags [none], proto 
UDP (17), length 632) 192.168.1.222 > 192.168.1.1: udp
23:59:17.045978 IP (tos 0x0, ttl 64, id 48635, offset 0, flags [none], proto 
UDP (17), length 168) 192.168.1.1.3819288094 > 192.168.1.222.2049: 140 readdir 
[|nfs]
23:59:17.046483 IP (tos 0x0, ttl 64, id 53175, offset 0, flags [+], proto UDP 
(17), length 1500) 192.168.1.222.2049 > 192.168.1.1.3819288094: reply ok 1472 
readdir POST: DIR 755 ids 0/0 [|nfs]
23:59:17.046538 IP (tos 0x0, ttl 64, id 53175, offset 1480, flags [none], proto 
UDP (17), length 632) 192.168.1.222 > 192.168.1.1: udp
00:00:01.953196 IP (tos 0x0, ttl 64, id 48966, offset 0, flags [none], proto 
UDP (17), length 168) 192.168.1.1.3819288094 > 192.168.1.222.2049: 140 readdir 
[|nfs]
00:00:01.953665 IP (tos 0x0, ttl 64, id 27028, offset 0, flags [+], proto UDP 
(17), length 1500) 192.168.1.222.2049 > 192.168.1.1.3819288094: reply ok 1472 
readdir POST: DIR 755 ids 0/0 [|nfs]
00:00:01.953711 IP (tos 0x0, ttl 64, id 27028, offset 1480, flags [none], proto 
UDP (17), length 632) 192.168.1.222 > 192.168.1.1: udp


Regards,
-- 
Jeremie Le Hen

----- End forwarded message -----

-- 
Jeremie Le Hen

Humans are born free and equal.  But some are more equal than the others.
                                            Coluche


Home | Main Index | Thread Index | Old Index