From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=MAILING_LIST_MULTI, RCVD_IN_DNSWL_NONE autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 22398 invoked from network); 23 Jun 2020 20:58:08 -0000 Received: from minnie.tuhs.org (45.79.103.53) by inbox.vuxu.org with ESMTPUTF8; 23 Jun 2020 20:58:08 -0000 Received: by minnie.tuhs.org (Postfix, from userid 112) id CA6399459D; Wed, 24 Jun 2020 06:58:05 +1000 (AEST) Received: from minnie.tuhs.org (localhost [127.0.0.1]) by minnie.tuhs.org (Postfix) with ESMTP id 37F3D9459A; Wed, 24 Jun 2020 06:57:36 +1000 (AEST) Received: by minnie.tuhs.org (Postfix, from userid 112) id EA17E9459A; Wed, 24 Jun 2020 06:57:33 +1000 (AEST) Received: from mcvoy.com (mcvoy.com [192.169.23.250]) by minnie.tuhs.org (Postfix) with ESMTPS id 70EE794599 for ; Wed, 24 Jun 2020 06:57:33 +1000 (AEST) Received: by mcvoy.com (Postfix, from userid 3546) id 0050835E149; Tue, 23 Jun 2020 13:57:32 -0700 (PDT) Date: Tue, 23 Jun 2020 13:57:32 -0700 From: Larry McVoy To: Rob Pike Message-ID: <20200623205732.GM14302@mcvoy.com> References: <4FC7FA55-5035-41A2-B52F-AE26DC8BED2C@planet.nl> <20200623140124.GR22291@mcvoy.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.24 (2015-08-30) Subject: Re: [TUHS] VFS prior to 1984 X-BeenThere: tuhs@minnie.tuhs.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: The Unix Heritage Society mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: TUHS main list , Paul Ruizendaal Errors-To: tuhs-bounces@minnie.tuhs.org Sender: "TUHS" The SunOS one hid the block stuff pretty well. It had mmap(). Where it got hairy when I was working on it was block size 4k vs page size 8k. And frags, I hate frags. On Wed, Jun 24, 2020 at 06:38:53AM +1000, Rob Pike wrote: > For my taste, the various Unix file system switches that I've seen are too > firmly tied to the idea of blocks and disks and all that, making them less > flexible than they should have been. That's why the Plan 9 version is about > names and byte streams, to make it as general as possible. > > That's one of the reasons the possibilities of the file system approach to > data has not reached its potential in Unix. > > -rob > > > On Wed, Jun 24, 2020 at 1:14 AM Clem Cole wrote: > > > I agree with Larry with his observations. The only thing I would add is > > that Popek and Walker had a file system in the UCLA Locus distributed > > system for the 11/70 that was published in SIGOPS in late 1970s. In fact, > > Gerry came up with the idea after a sabbatical @ PARC. But it was not > > formalized like NFS as a separate (layered) FS, it was just part of the > > basic Locus FS. > > > > Peter Weinberger created the file system switch (FSS) for V8 and in the > > UNIX world, it was first. Dave Arnovitz used it for RFS in System V, > > while Perry Flynn and I used it for EFS, both of us after talking > > to Peter. Rusty and team did the VFS layer Sun @ (Larry will have to tell > > you who actually built it, I never knew). Rusty and I both published > > papers in the '85 Summer USENIX (NFS and EFS were contemporaries -- the > > difference is that Sun gave away NFS and Masscomp was not smart enough to > > do that). > > > > I talked to Steve Kleinman extensively about VFS at one point, and I'm > > pretty sure he and the rest of the Sun guys had talked to the PARC folks > > who after Gerry went back to UCLA started working on a DFS. The idea of > > the state-less (idempotent) file system RPC that NFS used based on stuff > > PARC did. But I'm not sure PARC had anything like the FSS or the VFS > > layer. Peter, Dave, and I used a stateful scheme because we chose to have > > full UNIX FS semantics, which NFS did not. In the end, early NFS was > > notorious for putting 'holes' in the files because of the automatic seek in > > every operation and errors not coming until close(2) time. > > > > EFS used an RPC and a RUDP layer that Perry and Alan Atlas built, but it > > was not nearly as flexible as what Sun built [which had a crude interface > > generator], although until years later when Mike Leibensger built PIG (the > > Paceline Interface Generator) NFS RPC was always a PITA and not much better > > in practice than what we had at Masscomp. > > > > In fact, the point of the EFS paper was it's all about the recovery when > > there is a failure/error. If you read his paper, Rusty's point was who > > cares if there is an error (I've always felt vindicated that while I lost > > the war, over time everyone came to our way of thinking and now NFS > > V4 looks a whole lot like EFS did). > > > > Having a DFS as a feature was an incredible advance and proved we needed > > something (and it needed to be standard in all systems). NFS really lead > > the market with that advance, although it sort of took a few years to make > > it really good. The fact is that others had the same idea before or at > > least contemporary with it. > > > > That said, and to give the NFS team* a huge amount of credit *(and great > > applause), the VFS layer was better thought out than the FSS and in fact > > made it possible to add a lot of different file systems into UNIX later. > > FSS was much more ad hoc. > > > > At LCC, when we built VPROC for TNC a few years later, we used some of the > > same ideas from VFS and of course used VFS for the file system layer since > > TNC had to have full POSIX semantics. (It's a shame VPROC never caught on > > the way VFS did). > > > > Clem > > > > > > On Tue, Jun 23, 2020 at 10:02 AM Larry McVoy wrote: > > > >> I like to claim credit for creating the ChangeSet concept, the grouping > >> of a set of deltas across a number of files. But I wasn't the first. > >> Back when dejanews was a thing and you could search usenet posts in a > >> date range, if you searched before I started talking about ChangeSets, > >> you could find 6, count 'em, 6 hits. There was a really obscure system > >> called Aide De Camp, that had a similar concept. > >> > >> But if you searched after I started talking about them you would see > >> millions of hits. > >> > >> So I didn't invent the concept but I sure as heck made the world > >> understand the concept. > >> > >> I suspect Sun could be in a similar position. The VFS concept is > >> pretty sweet so there might have been someone before Sun. I'll > >> long odds that if there was, it didn't gain traction until Sun > >> did it. > >> > >> If there is nothing that predates it, then the inspiration was > >> almost certainly the device driver interface. One interface, > >> many devices. VFS is the same. > >> > >> On Tue, Jun 23, 2020 at 11:09:57AM +0200, Paul Ruizendaal wrote: > >> > When googling for File System Switch or Virtual File System most > >> sources mention Sun NFS and SysVr3 as the earliest implementations. Some > >> sources mention 8th Edition. > >> > > >> > I did a (short) search on FSS/VFS in earlier, non-Unix OS???s (Tenex, > >> Multics, CTSS, etc.), but none of those seem to have had a comparable > >> concept. > >> > > >> > Does anybody recall prior art (prior to 1984) in this area? > >> > > >> > Paul > >> > >> -- > >> --- > >> Larry McVoy lm at mcvoy.com > >> http://www.mcvoy.com/lm > >> > > -- --- Larry McVoy lm at mcvoy.com http://www.mcvoy.com/lm