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=-0.8 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED, HTML_MESSAGE,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 26054 invoked from network); 24 Jun 2020 19:31:25 -0000 Received: from minnie.tuhs.org (45.79.103.53) by inbox.vuxu.org with ESMTPUTF8; 24 Jun 2020 19:31:25 -0000 Received: by minnie.tuhs.org (Postfix, from userid 112) id A1D45945A9; Thu, 25 Jun 2020 05:31:22 +1000 (AEST) Received: from minnie.tuhs.org (localhost [127.0.0.1]) by minnie.tuhs.org (Postfix) with ESMTP id 5E7769459A; Thu, 25 Jun 2020 05:30:48 +1000 (AEST) Authentication-Results: minnie.tuhs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=ccc.com header.i=@ccc.com header.b="jkte38sP"; dkim-atps=neutral Received: by minnie.tuhs.org (Postfix, from userid 112) id E9F349459A; Thu, 25 Jun 2020 05:30:46 +1000 (AEST) Received: from mail-oi1-f175.google.com (mail-oi1-f175.google.com [209.85.167.175]) by minnie.tuhs.org (Postfix) with ESMTPS id 18D0594599 for ; Thu, 25 Jun 2020 05:30:46 +1000 (AEST) Received: by mail-oi1-f175.google.com with SMTP id l63so2816399oih.13 for ; Wed, 24 Jun 2020 12:30:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ccc.com; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=hASkGy6vIYisDOHZ1i6GncfYumMzl3DFESyyNfzDbkA=; b=jkte38sP9VUkZDN6XXcpN9LjVXqnhPqmXeZbg8o4Bti1cSxqhKPYNsJUY5mUmnl02G ESd0zoRiXnVpdPKqgJb0Q2nn4vsHVQqKTBW+A/tc8UMGOnJtRVqTMj7VC3xeZbmwMDxq tabBvG2vGiI6ygk8YQXPcVowYO09cChN5BNuk= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=hASkGy6vIYisDOHZ1i6GncfYumMzl3DFESyyNfzDbkA=; b=fA7NFbfJpQKOVQImzrYJkoO+VcU0qf72c+ShNfa3p3Xz2EtWiSFjfxEr1Bj5l+/e2s tEcsrFaLdd23m2d0nhsoPwg32yRvkxFd+D8Args62Jf30p+jBL4kdbXt62+ZpBm/K+f6 O4tauxErGnQdDp76nJQLqTyGa0EGl+UqL6NBGYsePHe1iNUUpVABX6cljTwU5iW78wZv hLuBzrhsZPb0lc0IEa8wVLAJ/9UZ6zpB/PYAYa5VJjepaQCzrwdxKawbpm0Tr0u/GVZQ HuaOTWrd1BeJmUO7XPaM4w/nbpLSlliLQUdDqGusCv/FSi7X+LJEfTcCVTuI+3y+K7pI 4R3g== X-Gm-Message-State: AOAM530mmRnbRV/SBoTlLXshROa4oNY0SEN2jKYbG0g00VutMfRgU5BM qQqrDfXwbmue6mbhD37Q//tKs3gamFq7kfFD2BlLmkApvuoItA== X-Google-Smtp-Source: ABdhPJxy+YIBKtP32Lr5SZbUIUl3Sty+ZeBk2Ir1hDfTN7EEbAR4nX9y58IKHi7Hu1AYf/4JXMeAV+IozX4RpNvq5/I= X-Received: by 2002:aca:f0d:: with SMTP id 13mr20304257oip.90.1593027045048; Wed, 24 Jun 2020 12:30:45 -0700 (PDT) MIME-Version: 1.0 References: <4FC7FA55-5035-41A2-B52F-AE26DC8BED2C@planet.nl> <20200623140124.GR22291@mcvoy.com> In-Reply-To: From: Clem Cole Date: Wed, 24 Jun 2020 15:30:18 -0400 Message-ID: To: Paul Ruizendaal Content-Type: multipart/alternative; boundary="0000000000002358db05a8d983a2" 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 Errors-To: tuhs-bounces@minnie.tuhs.org Sender: "TUHS" --0000000000002358db05a8d983a2 Content-Type: text/plain; charset="UTF-8" Paul -- slow cache refill ... but I finally remembered some more of this enough to reply... I'm not sure if Larry remembers any of this and if he does, he might have more details from the Sun side. In the early/mid 90's, Dave Rosenthal was working on what become LOCKSS. I think he was at still at Sun at that point, but he would eventually move to Stanford fulltime, but he could have left Sun already - I've forgotten. The UCLA folks (some of Popek's guys) had built a stackable file system layer for BSD (which I think is in the contributed stuff in 4.4 - the original BSD union FS and the UCLA replication FS for FICUS used it IIRC). Some of the UMICH folks were messing with enhancements to NFS and it was an active time. Under the aegis of Unix International (UI), Gerry sponsored a pow-wow at LCC (in the LA office by the airport) to talk about how stacking and VFS layers. IIRC Kleinman from then NetApp was there. Besides' Dave, I've forgotten now who else from Sun was there. There must have been someone from USL and maybe Mical Gien of Chorus. But the whole discussion came back to having FSS/VFS and N different DFS's, PFS's and layers like replication or union, *etc* in everyone's kernel. Gerry saw there was going to be a 'market' for support of different filing schemes, but at that point, everything needed to be 'ported' because they were all different. But also this idea of stacking was appealing. If we could come up with something that clean, then maybe we could be more independent of the different physical file systems and we could 'push' behavior into the stack more invisible. But to do we needed to get some sort of agreement and all use the same thing. USL (Sun) was insisting that a Sun VFS++ -- one interface to rule them all - NFS was the standard already of course. This was not going over with the Academic (UCLA/BSD/UMICH folks IIRC), particularly because of the lack of a stacking property. Dave proposed an idea of a general interposition layer on the inode that would allow pushing and popping routines similar to the way STREAMS worked. Which we landed on -- everybody had to change a little. I had thought Dave implemented in an SVR4 kernel at some point and Chorus may have had it. There was talk of trying to get the spec out of UI and LCC was acting either as an arms merchant or the swiss, was trying to get IBM/DEC/HP/OSF to come along. I went looking in my files and so far have not been able to dig it up. But you might find something hunting around the LOCKSS work as Dave was the mastermind behind it. Eventually, is all blew up and I'm not sure what happened to either the specs or the code. Clem On Tue, Jun 23, 2020 at 4:39 PM 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 >>> >> --0000000000002358db05a8d983a2 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Paul=C2=A0-- slow cache refill=C2=A0 ... but I finally = remembered some more of this enough to reply...

I'= m not sure if Larry remembers any of this and if he does, he might have mor= e details from=C2=A0the Sun side.=C2=A0=C2=A0

In the = early/mid 90's, Dave Rosenthal was working on what become LOCKSS.=C2=A0= I think he was at still at Sun at that=C2=A0point,=C2=A0but he=C2=A0would = eventually move to Stanford fulltime, but he could have left Sun already - = I've forgotten.=C2=A0 =C2=A0The UCLA folks (some of Popek's guys) h= ad built a stackable file system layer for BSD (which I think is in the con= tributed stuff in 4.4 - the original BSD union FS and the UCLA replication = FS for FICUS used it IIRC).=C2=A0 Some of the UMICH folks were messing with= enhancements to NFS and it was an active time.

Under = the aegis of=C2=A0Unix International (UI), Gerry sponsored a pow-wow at LCC= (in the LA=C2=A0office by the airport) to talk about how stacking and VFS = layers.=C2=A0 IIRC Kleinman from then NetApp was there.=C2=A0 =C2=A0Besides= ' Dave, I've forgotten now who else from Sun was there.=C2=A0 There= must have been someone from USL and maybe Mical Gien of Chorus.=C2=A0 =C2= =A0 =C2=A0But the whole discussion came back to having FSS/VFS and N differ= ent=C2=A0 DFS's, PFS's and layers like replication or union, etc= in everyone's kernel.=C2=A0 =C2=A0Gerry saw there was going to be = a 'market' for support of different filing schemes, but at that poi= nt, everything needed to be 'ported' because they were all differen= t.

But also this idea of stacking was appealing.=C2=A0= =C2=A0If we could come up with something that clean, then maybe we could b= e more independent of the different physical file systems and we could '= ;push' behavior into the stack more invisible.

But= to do we=C2=A0needed to get some sort of agreement and all use the same th= ing.=C2=A0

USL (Sun) was insisting that a Sun VFS++ --= one interface to rule them all - NFS was the standard already of course.= =C2=A0 This was not going over with the Academic (UCLA/BSD/UMICH folks IIRC= ), particularly because of the lack of a stacking property.=C2=A0
=

Dave proposed an idea of a general interposition layer on t= he inode that would allow pushing and popping routines similar to the way S= TREAMS worked.=C2=A0 Which we landed on -- everybody had to change a little= .=C2=A0 =C2=A0 =C2=A0I had thought Dave implemented in an SVR4 kernel at so= me point and Chorus may have had it.=C2=A0 There was talk of trying to get = the spec out of UI and LCC was acting either as an arms merchant or the swi= ss, was trying to get IBM/DEC/HP/OSF to come along.=C2=A0=C2=A0 I went look= ing in my files and so far have not been able to dig it up.=C2=A0 But you m= ight find something hunting around the LOCKSS work as Dave was the mastermi= nd=C2=A0behind it.

Eventually, is all blew up and I'm not sure what ha= ppened to either the specs or the code.

Clem

On Tue, Jun 23, 2020 at 4:39 PM Rob Pike <robpike@gmail.com> wrote:
For my taste,= the various Unix file system switches that I've seen are too firmly ti= ed 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 name= s and byte streams, to make it as general as possible.

T= hat's one of the reasons the possibilities of the file system approach = to data has not reached its potential in Unix.

-ro= b


On Wed, Jun 24, 2020 at 1:14 AM Clem Cole <clemc@ccc.com> wrote:
<= div class=3D"gmail_default" style=3D"font-family:arial,helvetica,sans-serif= ">I agree with Larry with his observations.=C2=A0 =C2=A0The only thing I wo= uld add is that Popek and Walker had a file system in the UCLA Locus distri= buted system for the 11/70 that was published in SIGOPS in late 1970s.=C2= =A0 In fact, Gerry came up with the idea=C2=A0after a sabbatical=C2=A0@ PAR= C.=C2=A0 =C2=A0But it was not formalized like NFS as a separate (layered) F= S, it was just part of the basic Locus FS.

Peter Weinb= erger created the file system switch (FSS) for V8 and in the UNIX world, it= was first.=C2=A0 =C2=A0 Dave Arnovitz used it for RFS in System V, while P= erry Flynn and I used it for EFS,=C2=A0both of us after talking to=C2=A0Pet= er.=C2=A0 =C2=A0Rusty and team did the VFS layer Sun @ (Larry will have to = tell you who actually=C2=A0built it, I never knew).=C2=A0 Rusty and I both = published papers in the '85 Summer USENIX (NFS and EFS were contemporar= ies -- the difference is that Sun gave away NFS and Masscomp was not smart = enough to do that).

I talked to Steve Kleinman extensi= vely 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 st= arted working on a DFS.=C2=A0 =C2=A0The idea of the state-less=C2=A0(idempo= tent) file system RPC that NFS used based on stuff PARC did.=C2=A0 =C2=A0Bu= t I'm not sure PARC had anything like the FSS or the VFS layer.=C2=A0 P= eter, Dave, and I used a stateful scheme because we chose to have full UNIX= FS semantics,=C2=A0which NFS did not.=C2=A0 In the end, early NFS was noto= rious for putting 'holes' in the files because of the automatic see= k 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 int= erface generator], although until years later when Mike Leibensger built PI= G (the Paceline Interface Generator) NFS RPC was always a PITA and not much= better in practice than what we had at Masscomp.

In f= act, the point of the EFS paper was it's all about the recovery when th= ere is a failure/error.=C2=A0 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=C2=A0looks a whole lot like EFS did).

Having a DFS = as a feature was an incredible=C2=A0advance and proved we needed something = (and it needed to be standard in all systems).=C2=A0 =C2=A0NFS really lead = the=C2=A0market with that advance, although it sort of took a few years to = make it really good.=C2=A0 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),=C2=A0the VFS layer was better thought out than the = FSS and in fact made it possible to add a lot of different file systems int= o UNIX later.=C2=A0 FSS was much more ad hoc.=C2=A0=C2=A0

At LCC, when we built VPROC for TNC a few years later, we used some o= f the same ideas from VFS and of course used=C2=A0VFS for the file system l= ayer since TNC had to have full POSIX semantics.=C2=A0 (It's a shame VP= ROC never caught on the way VFS did).

Clem

On Tue, Jun 23, 2020 at 10:02 AM Larry McVoy <lm@mcvoy.com> wrote:
I like to claim credit for creat= ing the ChangeSet concept, the grouping
of a set of deltas across a number of files.=C2=A0 But I wasn't the fir= st.
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.=C2=A0 There was a really obscure s= ystem
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.=C2=A0 The VFS concept is
pretty sweet so there might have been someone before Sun.=C2=A0 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.=C2=A0 One interface,
many devices.=C2=A0 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 sourc= es mention Sun NFS and SysVr3 as the earliest implementations. Some sources= mention 8th Edition.
>
> I did a (short) search=C2=A0 on FSS/VFS in earlier, non-Unix OS???s (T= enex, 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=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 l= m at mcvo= y.com=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0http://www.mcvoy.com= /lm
--0000000000002358db05a8d983a2--