Date: Wed, 11 Aug 1999 12:10:03 -0700 (PDT) From: Petr Lampa <lampa@fee.vutbr.cz> To: freebsd-bugs@FreeBSD.org Subject: Re: kern/11470: V3 NFS problem Message-ID: <199908111910.MAA99102@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
The following reply was made to PR kern/11470; it has been noted by GNATS. From: Petr Lampa <lampa@fee.vutbr.cz> To: freebsd-gnats-submit@freebsd.org, jso@research.att.com Cc: Subject: Re: kern/11470: V3 NFS problem Date: Wed, 11 Aug 1999 21:01:18 +0200 The problem is in stale cookie. The rm -r command reads several directory entries using readdirplus, calls remove3 for these entries and then continue reading the directory with saved cookie. On the Solaris NFSv3 server continuation returns the next entries from modified directory, but FreeBSD report stale coookie and reading of the directory ends. So if any directory contains more then BUFSIZ/sizeo(entry) entries (or something like that), then rm -r fails. Here is snoop from Solaris client (adela) removing files from FreeBSD server (kazi): adela.dcse.fee.vutbr.cz -> kazi.dcse.fee.vutbr.cz NFS C ACCESS3 FH=A448read (read) kazi.dcse.fee.vutbr.cz -> adela.dcse.fee.vutbr.cz NFS R ACCESS3 OK (read) adela.dcse.fee.vutbr.cz -> kazi.dcse.fee.vutbr.cz NFS C ACCESS3 FH=A448lookup (lookup) kazi.dcse.fee.vutbr.cz -> adela.dcse.fee.vutbr.cz NFS R ACCESS3 OK (lookup) adela.dcse.fee.vutbr.cz -> kazi.dcse.fee.vutbr.cz NFS C READDIRPLUS3 FH=A448 Cookie=0 for 1048/8192 kazi.dcse.fee.vutbr.cz -> adela.dcse.fee.vutbr.cz NFS R READDIRPLUS3 OK 2 entries (More) adela.dcse.fee.vutbr.cz -> kazi.dcse.fee.vutbr.cz NFS C READDIRPLUS3 FH=A448 Cookie=512 for 1048/8192 kazi.dcse.fee.vutbr.cz -> adela.dcse.fee.vutbr.cz NFS R READDIRPLUS3 OK 10+ entries (incomplete) kazi.dcse.fee.vutbr.cz -> adela.dcse.fee.vutbr.cz UDP continuation ID=1633 kazi.dcse.fee.vutbr.cz -> adela.dcse.fee.vutbr.cz UDP continuation ID=1633 kazi.dcse.fee.vutbr.cz -> adela.dcse.fee.vutbr.cz UDP continuation ID=1633 adela.dcse.fee.vutbr.cz -> kazi.dcse.fee.vutbr.cz NFS C READDIRPLUS3 FH=A448 Cookie=2764 for 1048/8192 adela.dcse.fee.vutbr.cz -> kazi.dcse.fee.vutbr.cz NFS C ACCESS3 FH=C54Fmodify,extend (modify,extend) kazi.dcse.fee.vutbr.cz -> adela.dcse.fee.vutbr.cz NFS R ACCESS3 OK (modify,extend) kazi.dcse.fee.vutbr.cz -> adela.dcse.fee.vutbr.cz NFS R READDIRPLUS3 OK 9+ entries (incomplete) kazi.dcse.fee.vutbr.cz -> adela.dcse.fee.vutbr.cz UDP continuation ID=1635 kazi.dcse.fee.vutbr.cz -> adela.dcse.fee.vutbr.cz UDP continuation ID=1635 kazi.dcse.fee.vutbr.cz -> adela.dcse.fee.vutbr.cz UDP continuation ID=1635 kazi.dcse.fee.vutbr.cz -> adela.dcse.fee.vutbr.cz UDP continuation ID=1635 adela.dcse.fee.vutbr.cz -> kazi.dcse.fee.vutbr.cz NFS C REMOVE3 FH=A448 mpq_get_den.o kazi.dcse.fee.vutbr.cz -> adela.dcse.fee.vutbr.cz NFS R REMOVE3 OK ... more REMOVE3 adela.dcse.fee.vutbr.cz -> kazi.dcse.fee.vutbr.cz NFS C REMOVE3 FH=A448 mpz_com.o kazi.dcse.fee.vutbr.cz -> adela.dcse.fee.vutbr.cz NFS R REMOVE3 OK adela.dcse.fee.vutbr.cz -> kazi.dcse.fee.vutbr.cz NFS C READDIRPLUS3 FH=A448 Cookie=2764 for 1048/8192 kazi.dcse.fee.vutbr.cz -> adela.dcse.fee.vutbr.cz NFS R READDIRPLUS3 Readdir cookie is stale This is bug - readdirplus should continue, remove doesn't change the size of directory (or does?). Petr Lampa To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199908111910.MAA99102>