Date: Fri, 3 Mar 2000 10:55:27 -0800 (PST) From: Matthew Dillon <dillon@apollo.backplane.com> To: "Ronald G. Minnich" <rminnich@lanl.gov> Cc: freebsd-hackers@FreeBSD.ORG Subject: Re: Copy-on-write filesystem Message-ID: <200003031855.KAA10948@apollo.backplane.com> References: <Pine.LNX.4.20.0003031140080.921-100000@mini.acl.lanl.gov>
next in thread | previous in thread | raw e-mail | index | archive | help
:It's a good idea. Peter Braam and I have written a device (called memdev) :for linux (sorry!) that implements a virtual-memory-backed copy-on-write :block device (like the loopback device, but uses anon vm pages for store). : :It's pretty interesting. It's quite fast, and copy-on-write does seem to :work OK for a filesystem. I'm using this thing as one of two pieces of a :new private name space implementation that would also work quite well on :freebsd. : :note it's not really a file system, but a loopback block device which does :copy-on-write for new blocks. : :You can also use it to easily implement translucent file system behaviour. : :ron I think a copy-on-write FS is an excellent idea. Last year I added swap-backed support to VN and started working on an I/O infrastructure for vm_object's (i.e. at the vm_object level rather then the VFS level). It would not be difficult to finish up that work and give the VN device the ability to stack vm_object layers, which would allow us to have a copy-on-write-to-swap layer in front of a partition or file (or even a copy-on-write-to-file layer in front of a partition, giving us persistence). FreeBSD already has something similar with nullfs and unionfs, but those operate at the VFS call level and despite all the bugs I've fixed in them recently they are *still* a broken pile of chunky brown stuff. We can do a lot of things with unionfs but we still can't buildworld reliably. -Matt Matthew Dillon <dillon@backplane.com> 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?200003031855.KAA10948>