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