From mboxrd@z Thu Jan 1 00:00:00 1970 From: smiley@zenzebra.mv.com To: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net> References: Date: Tue, 1 Feb 2011 06:02:06 +0000 In-Reply-To: (Steve Simon's message of "Mon, 31 Jan 2011 22:12:58 +0000") Message-ID: <86ipx4s36p.fsf@cmarib.ramside> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Subject: Re: [9fans] RESOLVED: recoving important header file rudely Topicbox-Message-UUID: a5b09d28-ead6-11e9-9d60-3106f5b1d025 "Steve Simon" writes: > This is the exact scenario I had when I ran fossil + venti with ephemerial > snapshots enabled, are you sure you don't have them on? Quite sure. :) That's why I ended up recovering the data from Linux. > fossil/conf /dev/sd??/fossil | grep snaptime I have just two lines: fsys main config, fsys main open. Incidentally, that fossil/conf drove me nuts(!) until I finally discovered it. I tried switching the drive from /dev/sdC1 to /dev/sdC0. I couldn't figure out why it kept insisting on mounting /dev/sdC1 when I changed EVERYTHING in plan9.ini to refer to /dev/sdC0. (Some day, I'll get around to asking why someone thought that hiding the device name on the device itself was a good idea. ??) Reading about Plan 9, I was quite excited to install it. I was quite excited when I first booted and ran it, too. But I distinctly felt my heart sink a little the first time it hung. Since then, I've browsed some of the OS source code and, having done that, I came to understand why the system was so buggy. The core applications appear to be written in a style of C programming reminiscent of the dawn of UNIX. While the operating system architecture is BEAUTIFULLY designed (with the exception, perhaps of that fossil/conf gotcha!), the C code used to implement it doesn't seem to take advantage of any of the programming paradigms that have emerged in the intervening 30 years... Getting Plan 9 code to crash is almost too easy: term% mkdir trashdir && cd trashdir && mkdir x term% touch `{i=0; while (test $i -lt 128) { echo -n abcdefghijklmnop; i=`{echo $i+1|hoc} } } term% cp abc* abc* x # watch the cp executable suicide # now, make SURE there's nothing in this rio window that you want to keep... term% rm abc* # watch the rio window go bye bye! I'm not someone to complain without also offering solutions, though. I'm in the process of writing some C macros that might help clean up the source code, ensure intended bounary conditions, improve some interfaces, etc. I already have some working code, but it's still very experimental. -- +---------------------------------------------------------------+ |E-Mail: smiley@zenzebra.mv.com PGP key ID: BC549F8B| |Fingerprint: 9329 DB4A 30F5 6EDA D2BA 3489 DAB7 555A BC54 9F8B| +---------------------------------------------------------------+