Re: [PATCH 09/12] generic/251: constrain runtime via time/load/soak factors

Darrick J. Wong
2024-11-19T15:45:21Z

On Mon, Nov 18, 2024 at 10:13:23PM -0800, Christoph Hellwig wrote:
> On Tue, Nov 19, 2024 at 12:45:05PM +1100, Dave Chinner wrote:
> > Question for you: Does your $here directory contain a .git subdir?
> >
> > One of the causes of long runtime for me has been that $here might
> > only contain 30MB of files, but the .git subdir balloons to several
> > hundred MB over time, resulting is really long runtimes because it's
> > copying GBs of data from the .git subdir.
>
> Or the results/ directory when run in a persistent test VM like the
> one for quick runs on my laptop. I currently need to persistently
> purge that for just this test.
>
> >
> > I have this patch in my tree:
> >
> > --- a/tests/generic/251
> > +++ b/tests/generic/251
> > @@ -175,9 +175,12 @@ nproc=20
> > # Copy $here to the scratch fs and make coipes of the replica. The fstests
> > # output (and hence $seqres.full) could be in $here, so we need to snapshot
> > # $here before computing file checksums.
> > +#
> > +# $here/* as the files to copy so we avoid any .git directory that might be
> > +# much, much larger than the rest of the fstests source tree we are copying.
> > content=$SCRATCH_MNT/orig
> > mkdir -p $content
> > -cp -axT $here/ $content/
> > +cp -ax $here/* $content/
>
> Maybe we just need a way to generate more predictable file system
> content?

How about running fsstress for ~50000ops or so, to generate some test
files and directory tree?

--D