Ultrix 4.1 NFS bug

Brian Kelley brian at cimage.com
Fri Feb 22 04:20:23 AEST 1991


We seem to have found a bug in the Ultrix (RISC) 4.1 NFS.  I'm not an NFS
expert, so if this is a feature, please clue me in.

Ultrix NFS seems to cache inodes (at least that's what I would call it). 


Given:

Filesystem /c2 is remotely NFS mounted from fileserver dgsi.
euler is a Sun Sparc which NFS mounts /c2.
fifo is a DecSystem 5400 which also NFS mounts /c2.

On fifo, create a file on /c2/tmp:

fifo>touch /c2/tmp/foo.dec


On euler, do the same:

euler>touch /c2/tmp/foo.sun


>From both hosts, an ls -l /c2/tmp/foo.* looks the same:

-rw-r--r--  1 brian           0 Feb 21 12:02 foo.dec
-rw-r--r--  1 brian           0 Feb 21 12:02 foo.sun

Now, on the Sun, I do the following:

euler>/usr/5bin/touch 01010101 /c2/tmp/foo.sun
euler>ls -l /c2/tmp/foo.*

-rw-r--r--  1 brian           0 Feb 21 12:02 foo.dec
-rw-r--r--  1 brian           0 Jan  1 01:01 foo.sun

Looks good. But when I do an ls -l /c2/tmp/foo.* from the DEC:

fifo>ls -l /c2/tmp/foo.*

-rw-r--r--  1 brian           0 Feb 21 12:02 /c2/tmp/foo.dec
-rw-r--r--  1 brian           0 Feb 21 12:02 /c2/tmp/foo.sun

The DEC machine is wrong.  It is caching the inode(?).

And then:

fifo>touch 01010101 foo.dec
fifo>ls -l foo.*
-rw-r--r--  1 brian           0 Feb 21 12:02 foo.dec
-rw-r--r--  1 brian           0 Feb 21 12:02 foo.sun

Gee, that didn't seem to work.  And bouncing back over to the Sun:

euler>ls -l foo.*
-rw-r--r--  1 brian           0 Jan  1 01:01 foo.dec
-rw-r--r--  1 brian           0 Jan  1 01:01 foo.sun

So the touch command on the DEC did change the inode, but even that wasn't
enough to invalidate the cache.  Yuck!!

Looks like a bug to me.  For software development with NFS and make, it
causes some pain.  Or is something else happening?


 -Brian



---
brian at cimage.com



More information about the Comp.unix.ultrix mailing list