tmp_suning_uos_patched/fs/gfs2
Steven Whitehouse fe64d517df 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>
2009-05-19 10:01:18 +01:00
..
acl.c New helper - current_umask() 2009-03-31 23:00:26 -04:00
acl.h [GFS2] Remove gfs2_check_acl() 2006-11-30 10:37:32 -05:00
bmap.c GFS2: Merge lock_dlm module into GFS2 2009-03-24 11:21:14 +00:00
bmap.h GFS2: Streamline alloc calculations for writes 2009-01-05 07:39:17 +00:00
dir.c GFS2: Merge lock_dlm module into GFS2 2009-03-24 11:21:14 +00:00
dir.h GFS2: Fix bug in gfs2_lock_fs_check_clean() 2009-01-05 07:39:11 +00:00
eaops.c GFS2: Merge lock_dlm module into GFS2 2009-03-24 11:21:14 +00:00
eaops.h [GFS2] mark struct *_operations const 2007-10-10 08:55:03 +01:00
eattr.c GFS2: Merge lock_dlm module into GFS2 2009-03-24 11:21:14 +00:00
eattr.h [GFS2] gfs2 misc endianness annotations 2006-11-30 10:33:46 -05:00
gfs2.h [GFS2] Remove remote lock dropping code 2008-06-27 09:39:44 +01:00
glock.c GFS2: Umount recovery race fix 2009-05-19 10:01:18 +01:00
glock.h GFS2: Merge lock_dlm module into GFS2 2009-03-24 11:21:14 +00:00
glops.c GFS2: Clear dirty bit at end of inode glock sync 2009-04-20 09:05:21 +01:00
glops.h GFS2: Add a "demote a glock" interface to sysfs 2009-03-24 11:21:22 +00:00
incore.h GFS2: Umount recovery race fix 2009-05-19 10:01:18 +01:00
inode.c GFS2: cleanup file_operations mess 2009-04-15 10:17:18 +01:00
inode.h GFS2: cleanup file_operations mess 2009-04-15 10:17:18 +01:00
Kconfig GFS2: Umount recovery race fix 2009-05-19 10:01:18 +01:00
lock_dlm.c GFS2: Fix locking bug in failed shared to exclusive conversion 2009-03-24 11:21:26 +00:00
log.c GFS2: Update the rw flags 2009-05-11 12:36:41 +01:00
log.h [GFS2] trivial sparse lock annotations 2008-06-27 09:39:31 +01:00
lops.c GFS2: Update the rw flags 2009-05-11 12:36:41 +01:00
lops.h [GFS2] Only do lo_incore_commit once 2008-03-31 10:39:54 +01:00
main.c GFS2: Umount recovery race fix 2009-05-19 10:01:18 +01:00
Makefile GFS2: Merge lock_dlm module into GFS2 2009-03-24 11:21:14 +00:00
meta_io.c GFS2: Optimise writepage for metadata 2009-05-11 12:36:43 +01:00
meta_io.h GFS2: Clean up of glops.c 2009-03-24 11:21:27 +00:00
mount.c GFS2: Add commit= mount option 2009-05-13 14:49:48 +01:00
ops_address.c GFS2: Fix timestamps on write 2009-05-12 16:14:05 +01:00
ops_address.h [GFS2] Remove function gfs2_get_block 2008-01-25 08:08:25 +00:00
ops_dentry.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6 2009-03-27 16:23:12 -07:00
ops_export.c GFS2: Merge lock_dlm module into GFS2 2009-03-24 11:21:14 +00:00
ops_file.c GFS2: Something nonlinear this way comes! 2009-05-11 12:36:44 +01:00
ops_fstype.c GFS2: Umount recovery race fix 2009-05-19 10:01:18 +01:00
ops_inode.c GFS2: Fix symlink creation race 2009-04-15 10:15:38 +01:00
ops_super.c GFS2: Umount recovery race fix 2009-05-19 10:01:18 +01:00
quota.c GFS2: Use DEFINE_SPINLOCK 2009-04-15 10:18:07 +01:00
quota.h GFS2: change gfs2_quota_scan into a shrinker 2009-03-24 11:21:12 +00:00
recovery.c GFS2: Umount recovery race fix 2009-05-19 10:01:18 +01:00
recovery.h GFS2: Umount recovery race fix 2009-05-19 10:01:18 +01:00
rgrp.c GFS2: Ensure that the inode goal block settings are updated 2009-04-23 10:07:37 +01:00
rgrp.h [GFS2] Add extent allocation to block allocator 2008-03-31 10:40:47 +01:00
super.c GFS2: Fix freeze issue 2009-03-24 11:31:30 +00:00
super.h Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6 2009-03-27 16:23:12 -07:00
sys.c GFS2: Umount recovery race fix 2009-05-19 10:01:18 +01:00
sys.h GFS2: Remove ancient, unused code 2009-01-05 07:39:13 +00:00
trans.c GFS2: Move journal live test at transaction start 2009-05-13 10:56:52 +01:00
trans.h [GFS2] Update gfs2_trans_add_unrevoke to accept extents 2008-03-31 10:40:42 +01:00
util.c GFS2: Merge lock_dlm module into GFS2 2009-03-24 11:21:14 +00:00
util.h GFS2: Clean up & move gfs2_quotad 2009-01-05 07:39:05 +00:00