> From: Eric Sandeen [mailto:sandeen@redhat.com]
> Sent: Tuesday, July 06, 2010 12:00 PM
> To:
tytso@mit.edu
> Cc: Daniel Taylor;
linux-ext4@vger.kernel.org
> Subject: Re: inconsistent file placement
>
>
tytso@mit.edu wrote:
> > On Mon, Jul 05, 2010 at 06:49:34PM -0700, Daniel Taylor wrote:
> >> I realize that it is enerally not a good idea to tune
> >> an operating system, or subsystem, for benchmarking, but
> >> there's something that I don't understand about ext[234]
> >> that is badly affecting our product. File placement on
> >> newly-created file systems is inconsistent. I can't,
> >> yet, call it a bug, but I really need to understand what
> >> is happening, and I cannot find, in the source code, the
> >> source of the randomization (related to "goal"???).
> >
> > In ext3, it really is random. The randomness you're looking for can
> > be found in fs/ext3/ialloc.c:find_group_orlov(), when it calls
> > get_random_bytes(). This is responsible for "spreading" directories
> > so they are spread across the block groups, to try to prevent
> > fragmented files. Yes, if all you care about is benchmarks
> which only
> > use 10% of the entire file system, and for which the
> benchmarks don't
> > adequately simulate file system aging, the algorithms in ext3 will
> > cause a lot of variability.
>
> However, from the test description it looks like it is writing
> a file to the root dir, so there should be no parent-dir
> random spreading,
> right?
>
> -Eric
>
>