[OpenIndiana-discuss] NFS hidden files

James Carlson carlsonj at workingcode.com
Wed Jun 6 11:48:18 UTC 2012


Richard L. Hamilton wrote:
> A remote filesystem protocol by AT&T (and present only in very early Solaris, as I recall), called RFS, went to great lengths to provide all the usual semantics.  You could even access remote device files (although presumably both client and server had to support the same byte order, word size, alignment, etc, AND ioctls, for ioctls to be packaged up properly to work with remote devices - not sure how that worked!).  In fact, processes on the client and server could communicate with each other through a FIFO on the shared filesystem!

Yes, I remember RFS.  Besides using it myself, I worked on a related
protocol in the Annex terminal server called "TSTTY" that implemented
remote serial ports.

Basically, yes, the ioctls and (perhaps more critically) all of the data
structures passed along with the ioctls had to line up between the two
systems, or it wouldn't work.  But, then, all Real Machines are
big-endian, right?  ;-}

> The flip side was that unlike NFS, if the server crashed, the client didn't just wait for the server to come back up, it got an error, not unlike you would if someone unplugged a local disk.  That is, the server was NOT stateless, but had state that was lost in a crash, which left returning an error to the client as the only option.
> 
> Compatible, reliable, high-performance: pick two.  (like a number of other "pick two" cases)

There've been a number of other works in this area.  AFS is interesting
because you can still access your locally-cached files for a while after
the Vice server goes down.  It'll still grind to a halt like NFS when
something bad happens, it just tends to take longer.

In any event, remote file systems are different.  Sometimes subtly, and
sometimes brutally.  (File locking, not the silly ".nfs" files, is where
NFS users tend to get really tripped up.  NFS has advisory but not
mandatory locks, and crash recovery can be weird.)

For what it's worth, local file systems are sometimes different as well.
 UFS and ZFS aren't precisely the same -- check out the reported sizes
of your directories with "ls."   Nor is UFS at all like PCFS (DOS) or
like HSFS (CD/DVD).

I think the ".nfs" thing is a bit of a molehill.  Working on multiple
platforms, you'll see things that are far more jarring than that.  For
example, on HP/UX, memory-mapped files (e.g., shared libraries) are
locked good and hard.  You can't write to them.  You can't remove them.
 You can't even rename them.  They end up with a big yellow "police line
- do not cross" ribbon around them, which sometimes makes software
upgrade "interesting."

It's a weird world out there.

-- 
James Carlson         42.703N 71.076W         <carlsonj at workingcode.com>



More information about the OpenIndiana-discuss mailing list