Date: Sun, 05 Mar 2000 09:05:29 -0500 From: "Louis A. Mamakos" <louie@TransSys.COM> To: sthaug@nethelp.no Cc: kc5vdj@swbell.net, jbryant@ppp-207-193-2-159.kscymo.swbell.net, mbac@nyct.net, freebsd-hackers@FreeBSD.ORG Subject: Re: Copy-on-write filesystem Message-ID: <200003051405.JAA17903@whizzo.transsys.com> In-Reply-To: Your message of "Sun, 05 Mar 2000 09:49:01 %2B0100." <57769.952246141@verdi.nethelp.no> References: <200003040245.UAA10031@ppp-207-193-2-159.kscymo.swbell.net> <57769.952246141@verdi.nethelp.no>
next in thread | previous in thread | raw e-mail | index | archive | help
> > > Imagine: cp file file2, file and file2 reference the same exact blocks, > > > but modified chunks of file2 would be given their own private blocks. > > > > This is not a microsoft innovation, actually, I believe it was a VMS > > innovation. It's called a generational filesystem. the original is > > stored, and later generations of the file are stored as diffs. > > As far as I know, VMS simply stores whole files - no diffs involved. Now > if you go back to for instance Univac 1100 and the Exec-8 OS (I suppose > it is OS-1100 now), you'll find a system that *did* store the diffs. In > the form of punched card images! :-) Well, not really. That was mostly an application convention rather than being done in the OS. And that all the applications wanted to use SIR$ SDF to read program file elements was just a coincidence :-) The cools part of Exec-8 that we still need (we already have sparse files) are the virtual filesystem bits. E.g., unloaded files. People have been struggling with multi-level storage architectures on UNIX for years, while this was pretty much a solved problem on these 1's complement 36 bit dinosars 30 years ago. (The notion was that if you didn't use a file in a while, the system would release the data blocks, and mark the file as "unloaded." When you "assigned"/opened one of these files, a system process would cause the current backup tape to be loaded, and the file restore. When you began to get low on disk space, likeway a systen process would start, and sort all files based on their priority for being unloaded - based on last reference time, do we have a current backup, who created it, etc. It would then begin to release the data blocks until you acheived a configured threshold.) louie To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200003051405.JAA17903>