Re: [PATCH] [RFC] remove ext3 inode from orphan list when link andunlink race

From: Eric Sandeen
Date: Sun Jan 14 2007 - 10:43:03 EST


Dmitriy Monakhov wrote:
Eric Sandeen <sandeen@xxxxxxxxxx> writes:

I've been looking at a case where many threads are opening, unlinking, and
hardlinking files on ext3 .
How many concurent threads do you use and how long does it takes to trigger this race? I've tried to reproduce this with two threads, but not succeed.
<thread 1> fd = create("src")
close(fd)
unlink("src")
<thread 2>
link("src", "dst")
unlink("dst")

Original testcase will be the best answer :).

Sure :) Though I didn't write it... see this collection of bash scripts:

http://people.redhat.com/esandeen/testcases/orphan-repro.tar.bz2

I didn't write it, but it exposed the bug for me. The VAR file contains variables to specify mountpoint and a device, which the script starts by mkfs'ing, so be warned.

It spawns -many- threads, and on my 4 CPU opteron I can hit it in a reasonable amount of time. It would probably be nice to have a more targeted testcase but it did the trick for me.

Thanks,
-Eric

Thanks.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/