On Wed, Aug 13, 2025 at 10:00 AM Douglas McIlroy
<douglas.mcilroy(a)dartmouth.edu> wrote:
I was always sorry that Peter Weinberger's RFS
never made it outside
Bell Labs. It allowed networking between separately administered
systems by mapping UIDs.
I believe it did? If I recall correctly, it was available with System
V, though perhaps I am misremembering.
I have no doubt that RFS was technically superior to NFS, but Sun had
non-technical market advantages. Assuming that I am remembering
correctly, I suspect it was unsuccessful commercially for two reasons:
1. Sun gave NFS (and the associated RPC layer) away for free, under a
particularly liberal license, which lead to lots of interoperability
(Larry's and Dave's comments notwithstanding). I suspect by the time
RFS was available, it was much more expensive and less interoperable
across heterogeneous systems.
2. Sun was quite adamant that NFS be stateless, and also not tied to
Unix filesystem semantics, whereas (as I understood it) RFS was both
stateful and deeply imbued with Unix semantics.
Related to (2), while the File System Switch that was developed to
support RFS was very elegant, I think that Sun's "vnode" architecture
was seen as more flexible, permitting Unix to incorporate support for
all sorts of foreign filesystem types (useful when CD-ROMs and things
like floppy disks using the MS-DOS FAT format started becoming
common). I suppose RFS could have been adapted to use vnodes, but by
then it probably wasn't considered worth the effort due to lack of
adoption.
It may be worth mentioning that some NFS implementations are
configurable for UID remapping in the server.
I recall Sun environments with NFS and NIS (the mechanism for
distributing /etc/passwd, groups, and other administrative data around
a network). It was a really pleasant environment, and extremely
productive. Properly configured, you could log into essentially any
machine on the network and have access to your home directory, common
data, locally installed programs (that of course lived on NFS), and so
on. It was quite common to tell a colleague to just have a look in
your home directory for something you were working on, facilitating
collaboration, and so on. Diskless and "dataless" machines were
common; the latter being machines that mounted _most_ things from a
central NFS server, but had the operating system itself (really, /,
/usr and /tmp) locally installed on a disk.
It required a lot of effort to maintain, since Unix machines were
still fundamentally meant to be standalone, and it wasn't as elegant
as Plan 9 ultimately was, but it was very nice for the time.
- Dan C.
On Tue, Aug 12, 2025 at 11:05 PM Dave Horsfall
<dave(a)horsfall.org> wrote:
>
> On Tue, 12 Aug 2025, Larry McVoy wrote:
>
> > I think Sun people love it, because the Sun implementation just worked,
> > the rest of the world mostly hates it. I learned this when I left Sun
> > and got to use other NFS implementations, they sucked.
>
> I can vouch for Sun's NFS working well, and others' not so much (zeroed
> blocks returned etc)...
>
> > We supported BitKeeper on NFS which meant we had to do lock files on NFS
> > on all platforms. Believe me when I say I know that other NFS
> > implementations were a mess. Read all the drama here:
>
> I'm impressed by the workarounds for obscure kernel bugs :-)
>
> -- Dave