Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 21 Aug 1995 20:09:09 -0500 (CDT)
From:      Peter da Silva <peter@bonkers.taronga.com>
To:        terry@cs.weber.edu (Terry Lambert)
Cc:        hackers@freebsd.org
Subject:   Re: Making a FreeBSD NFS server
Message-ID:  <199508220109.UAA25345@bonkers.taronga.com>
In-Reply-To: <9508211748.AA26061@cs.weber.edu> from "Terry Lambert" at Aug 21, 95 11:48:47 am

next in thread | previous in thread | raw e-mail | index | archive | help
> > Oh, crap. You handle machine failures the same way you handle disk failures.
> > If you can't handle disk failures you shouldn't have a stateful *local* file
> > system. For conventional file I/O you can get pretty much the same recovery
> > semantics both ways (client reloads state), and for non-file I/O you get the
> > choice of no access at all or error returns. I'll take the error returns.

> Write me an NFS fsck.  8-).

You do the fsck on the server.

I've fone fscks over opennet.

> Yeah, this isn't really a result of the statefulness or statelessness of
> the transport.  It's that fact that NFS doesn't implement an ISO layer
> 5 or 6.

Devices are inherently stateful. You can't resend a missing block to a
remote tape drive, because you can't seek it.

> OpenNet didn't implement a layer 5, but since you were going
> between homogeneous machine types for this type of I/O, that wasn't a
> problem (the manifest constants for B9600 for sgtty() were guaranteed to
> be the same).

I opened devices and named pipes from DOS. Of course that didn't support
ioctls.

> Of course, this is what enables NFS to support diskless systems, so you
> can't complain too loudly.

That's what devfs is for.

> To combat that, you maintain the open instance -- by asserting an NFS
> lock, which causes the lockd to convert the handle into an open fd in
> the lockd processes address space -- an open instance held for the
> duration of the lock on the remote system.

In which case you now have a stateful interface.

And what do you do about named pipes?



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199508220109.UAA25345>