Btrfs: fix async worker startup race
authorChris Mason <chris.mason@oracle.com>
Tue, 15 Sep 2009 23:57:42 +0000 (19:57 -0400)
committerChris Mason <chris.mason@oracle.com>
Wed, 16 Sep 2009 00:20:16 +0000 (20:20 -0400)
commit3e99d8eb347c93a5d38081380b8c9e69b203212e
tree1fde8df76b399c12827c2e2bd989e29e83d9994f
parent83ebade34bc1a90d0c3f77b87b940f336d075fda
Btrfs: fix async worker startup race

After a new worker thread starts, it is placed into the
list of idle threads.  But, this may race with a
check for idle done by the worker thread itself, resulting
in a double list_add operation.

This fix adds a check to make sure the idle thread addition
is done properly.

Signed-off-by: Chris Mason <chris.mason@oracle.com>
fs/btrfs/async-thread.c