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>