misc/79336: FBSD NFS client doesn't detect file updates on Novell NFS server

Bob Johnson bob89 at eng.ufl.edu
Tue Mar 29 08:00:07 PST 2005


>Number:         79336
>Category:       misc
>Synopsis:       FBSD NFS client doesn't detect file updates on Novell NFS server
>Confidential:   no
>Severity:       critical
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Tue Mar 29 16:00:06 GMT 2005
>Closed-Date:
>Last-Modified:
>Originator:     Bob Johnson
>Release:        4.7, 5.3, 5.4-Pre
>Organization:
University of Florida
>Environment:
FreeBSD scanner.engnet.ufl.edu 5.4-PRERELEASE FreeBSD 5.4-PRERELEASE #5: Wed Mar  2 00:25:02 EST 2005     b at scanner.engnet.ufl.edu:/usr/obj/usr/src/sys/B28  i386

also 4.7 and 5.3 systems
>Description:
FreeBSD NFS client doesn't always detect that a file has changed on a Novell 6.5 NFS server.  Problem does not exist with Novell 5.1.  Novell has discussion of issue in a TID at http://support.novell.com/cgi-bin/search/searchtid.cgi?/10097113.htm and is still considering fixing it at their end.  If I correctly understand their analysis, they believe that the "normal" method of detecting a file update is to look at the directory modification time and invalidate the entire directory cache if it has changed, so their server does not update individual file timestamps, while FreeBSD bases cache updates on file timestamp changes and thus doesn't see that the file has changed.

Notes:
1) This problem did not exist in the Novell 5.1 NFS server implementation.
2) Novell advertises that their NFS server works with FreeBSD 4.7.
3) Novell's TID linked above asserts that this is a bug in FreeBSD (but they are considering modifying their server to accomodate it).
>How-To-Repeat:
1) Find a Novell 6.5 NFS server and mount volume with FreeBSD client:
# mount_nfs novell.my.net:/shared /mnt

2) Create file:
# echo "This is a test" > /mnt/test.txt

3) View contents of the file from FreeBSD, 
# cat /mnt/test.txt
This is a test

4) From a Netware client, copy the file from the Novell server to the local client, edit the file, and copy it back to the server.  This sequence is important, as editing the file in place on the server does not seem to produce the problem.  Unfortunately, this copy-update-copy sequence is a common method of allowing users to update their information on, for example, a web server using a local HTML editor.

5) View contents of file from FreeBSD again:
# cat /mnt/test.txt
This is a test

6) Force FreeBSD to update file timestamp and look at it again:
# touch /mnt/test.txt
# cat /mnt/test.txt
This is a different test


>Fix:
Novell may decide to fix this in their server.

FreeBSD 5.3 NWFS and SMB clients also do not work with Novell servers (at least not ours), so they are not usable workarounds.
>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-bugs mailing list