From owner-freebsd-fs Thu Feb 29 19:19:10 1996 Return-Path: owner-fs Received: (from root@localhost) by freefall.freebsd.org (8.7.3/8.7.3) id TAA06969 for fs-outgoing; Thu, 29 Feb 1996 19:19:10 -0800 (PST) Received: from ucthpx.uct.ac.za ([137.158.128.1]) by freefall.freebsd.org (8.7.3/8.7.3) with SMTP id TAA06918 for ; Thu, 29 Feb 1996 19:18:43 -0800 (PST) Received: by ucthpx.uct.ac.za (Smail3.1.28.1 #47) id m0tsLMN-000KMYC; Fri, 1 Mar 96 05:18 SAST Received: from leftside by leftside.its.uct.ac.za with smtp (Smail3.1.29.1 #1) id m0tsBrC-00004HC; Thu, 29 Feb 96 19:09 SAT Date: Thu, 29 Feb 1996 19:09:33 +0200 (SAT) From: Peter van Heusden X-Sender: pvh@leftside To: Peter Stubbs cc: freebsd-fs@freebsd.org Subject: Re: Compressing filesystem for FreeBSD In-Reply-To: <6BD18783D77@aidan.staidan.qld.edu.au> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-fs@freebsd.org Precedence: bulk On Wed, 28 Feb 1996, Peter Stubbs wrote: > On 24 Feb 96, Peter van Heusden wrote: > > > > > Does anyone know if anyone has done any work on writing a > > compressing filesystem for FreeBSD? I've been thinking about this, > > and the strategies to do it, and I'd like to know if there is any > > previous work out there I can refer to... > > > This isn't much of an answer, but since nobody else has said > anything I'll point out that the the nearest thing that's here now is the > pseudo-device gzip which allows gziped a.outs to be run. Perhaps all > that is needed is to extend that device to other files? Hm. I'll have a look at it... > > I'd hate to see us go the same direction as MS-DOG and create a > single file with all the other files compressed into it. Perhaps the > netware 4 technique of compressing files that haven't been access for > a certain time using a (very) niced daemon? That's what I was thinking. Basically, you have two places where you can interface, imo: 1) At the block level, when a block is written/read from disk. Now, someone on hackers just mentioned that that might cause problems with efficiency - as I recall, down there things are meant to work on nice aligned boundaries, and things. 2) At the file level, when a file is read/written. Netware 4, as you mention, does a mark 'n sweepish compress, and then a decompress when you access a compressed file. This looks kinda simpler. I haven't looked deep into the FS code to decide whether it is simple or not, though. As for the MSDOG idea of keeping things in a single file - that's what we got filesystems for, no? My initial idea for a compressing FS was that I would like /usr/src to be a compressing FS, but /usr/bin shouldn't be. Since you're working with a real OS with a real FS, you don't need to wonder about the psuedo-FS garbage MSDOG loads you with... *but* one thing to watch out for on a compressing FS is the integrity of your data. You don't want to lose a whole file because a single block got screwed or something. Hm. Anyway, it sounds like I should got the drawing board for the while and see if anything comes up. Peter