From mboxrd@z Thu Jan 1 00:00:00 1970 Message-ID: Date: Tue, 6 Dec 2005 18:41:53 -0500 From: Russ Cox To: Fans of the OS Plan 9 from Bell Labs <9fans@cse.psu.edu> Subject: Re: [9fans] fossil woe In-Reply-To: <775b8d190512061510i1babe79cla7a89d27c8ab8859@mail.gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline References: <775b8d190512061302g617669dbl6fb693ae8a6b1e6f@mail.gmail.com> <775b8d190512061510i1babe79cla7a89d27c8ab8859@mail.gmail.com> Topicbox-Message-UUID: bb74bc58-ead0-11e9-9d60-3106f5b1d025 > of course. or don't call it a cache but "something that may > fill up and screw you over". the machine was far too hosed > to connect to fscons and in any case telling a user "if you > do too much stuff you will have to call me to fix fossil" is > not aacceptable. I'm not claiming, under any circumstances, that fossil becoming unusable is acceptable. However, the solution is not as simple as "just write the blocks to venti". First, writing blocks to venti requires some knowledge of the rest of the file server state, and you can't always write any block to venti. Second, some people don't even use venti and they can fill their fossils too. There are plenty of subtle things going on in fossil that make it much harder to handle the disk being full than in a conventional file system. Fossil needs some notion of being close to full, at which point its behavior would change. Automatic snapshots would stop, as would mtime updates and any other source of automatic dirtying of blocks. There should be a few blocks reserved for snapshots taken in response to manual console commands. Then when fossil fills, you can remove recently written data (if some runaway program has filled the disk) or connect to the console and delete old snapshots or take an archival snapshot. If someone wants to work on making this happen, I would be happy to provide further details. Russ