Coda File System

Re: New setup questions

From: Jan Harkes <jaharkes_at_cs.cmu.edu>
Date: Sun, 11 Feb 2007 00:09:47 -0500
On Sun, Feb 11, 2007 at 03:32:59AM +0100, Davor Ocelic wrote:
> On Sun, 11 Feb 2007 03:19:22 +0100
> Davor Ocelic <docelic_at_hcoop.net> wrote:
> 
> > Systems will most probably be Intel 64bits.
> > 
> > Even though I've got some specifications in my head,
> > I have opened hands regarding the hardware to acquire
> > for this purpose. I would appreciate all organizational
> > hardware and software Coda-related suggestions.
> 
> Forgot to mention; the whole system would go in production
> in 5 or 6 months of which, things going well, there could be
> two monts available for testing (primarily Coda).
> 
> Are there some 64-bit issues or other stoppers that we could
> get solved in that timeframe? (Possibly with some help from
> this setup while it's in test phase.)

64-bit is definitely still an issue. At the moment a lot seems to work,
mostly thanks to a large patch I got from Brett Lynmn which solved most
of the really bad issues. On top of that I've managed to catch a lot of
things that were flagged by the compiler.

However there are still remaining problems which the compiler can't
find. I think many problems are hidden by explicit casts that were added
to solve compile issues in the Coda-4 to -5 timeframe.

I actually got a client working on an Intel CPU with 64-bit extensions
(EM64T) and committed the patches to a repository in Coda from that
machine, so it seemed to work at first but the client crashed later on
during a recursive ls.

Another thing I noticed was that some character arrays that were written
to the logs seemed to be off by 1 or 2 bytes (i.e. 2 random bytes
followed by the expected string). I think there must be some strange
alignment issue when a char [] is cast to a char * and back. I am not
really an expert in alignment rules, but we probably have character
arrays stored at non-aligned offsets in structures while a character
pointer (string) is expected to be 32- or 64-bit aligned. In this case
we probably end up with unexpected memory clobbers which is why there
are seemingly random crashes.

Since most of the remaining 64-bit problems are not always obvious, and
I don't actually have a 64-bit machine sitting on my desk it will
probably take a while before everything is resolved.

For the rest your numbers seem quite reasonable, I think that our
servers actually store more data. One possibility may be that your
layout could hit a directory size limit. Coda directories cannot grow
beyond 256KB, which I roughly estimate to about 4096 directory entries
per directory. This is fairly low limit, the linux-kernel mailinglist
stored as maildir can fill a directory in maybe 3 weeks or less.

Jan
Received on 2007-02-11 00:12:18