]> bbs.cooldavid.org Git - net-next-2.6.git/commit - fs/gfs2/incore.h
GFS2: Umount recovery race fix
authorSteven Whitehouse <swhiteho@redhat.com>
Tue, 19 May 2009 09:01:18 +0000 (10:01 +0100)
committerSteven Whitehouse <swhiteho@redhat.com>
Tue, 19 May 2009 09:01:18 +0000 (10:01 +0100)
commitfe64d517df0970a68417184a12fcd4ba0589cc28
treed977f214fdf6ba96254cfbf6683e8583ecebe504
parent9582d41135c0d362f04ed6bf3dc8d693a7eafee2
GFS2: Umount recovery race fix

This patch fixes a race condition where we can receive recovery
requests part way through processing a umount. This was causing
problems since the recovery thread had already gone away.

Looking in more detail at the recovery code, it was really trying
to implement a slight variation on a work queue, and that happens to
align nicely with the recently introduced slow-work subsystem. As a
result I've updated the code to use slow-work, rather than its own home
grown variety of work queue.

When using the wait_on_bit() function, I noticed that the wait function
that was supplied as an argument was appearing in the WCHAN field, so
I've updated the function names in order to produce more meaningful
output.

Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
fs/gfs2/Kconfig
fs/gfs2/glock.c
fs/gfs2/incore.h
fs/gfs2/main.c
fs/gfs2/ops_fstype.c
fs/gfs2/ops_super.c
fs/gfs2/recovery.c
fs/gfs2/recovery.h
fs/gfs2/sys.c