linux/fs/gfs2
Bob Peterson b7dc2df572 GFS2: recovery stuck on transaction lock
This patch fixes bugzilla bug #590878: GFS2: recovery stuck on
transaction lock.  We set the frozen flag on the glock when we receive
a completion that cannot be delivered due to blocked locks. At that
point we check to see whether the first waiting holder has the noexp
flag set. If the noexp lock is queued later, then we need to unfreeze
the glock at that point in time, namely, in the glock work function.

This patch was originally written by Steve Whitehouse, but since
he's on holiday, I'm submitting it.  It's been well tested with a
complex recovery test called revolver.

Signed-off-by: Steve Whitehouse <swhiteho@redhat.com>
Signed-off-by: Bob Peterson <rpeterso@redhat.com>
2010-07-15 09:05:57 +01:00
..
acl.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes 2010-05-25 08:17:51 -07:00
acl.h gfs: constify xattr_handler 2010-05-21 18:31:20 -04:00
aops.c kill spurious reference to vmtruncate 2010-05-27 22:15:42 -04:00
bmap.c GFS2: O_TRUNC not working on stuffed files across cluster 2010-07-15 09:05:17 +01:00
bmap.h GFS2: Streamline alloc calculations for writes 2009-01-05 07:39:17 +00:00
dentry.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
dir.c GFS2: glock livelock 2010-04-14 16:48:05 +01:00
dir.h GFS2: Fix bug in gfs2_lock_fs_check_clean() 2009-01-05 07:39:11 +00:00
export.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw 2010-05-21 07:29:15 -07:00
file.c drop unused dentry argument to ->fsync 2010-05-27 22:05:02 -04:00
gfs2.h [GFS2] Remove remote lock dropping code 2008-06-27 09:39:44 +01:00
glock.c GFS2: recovery stuck on transaction lock 2010-07-15 09:05:57 +01:00
glock.h GFS2: Metadata address space clean up 2010-03-01 14:07:37 +00:00
glops.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
glops.h GFS2: Add a "demote a glock" interface to sysfs 2009-03-24 11:21:22 +00:00
incore.h GFS2: Add some useful messages 2010-05-06 11:03:29 +01:00
inode.c GFS2: Rework reclaiming unlinked dinodes 2010-05-21 16:11:36 +01:00
inode.h GFS2: Rework reclaiming unlinked dinodes 2010-05-21 16:11:36 +01:00
Kconfig GFS2: do not select QUOTA 2010-03-09 10:08:36 +00:00
lock_dlm.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
log.c GFS2: Rework reclaiming unlinked dinodes 2010-05-21 16:11:36 +01:00
log.h GFS2: Rework reclaiming unlinked dinodes 2010-05-21 16:11:36 +01:00
lops.c GFS2: Various gfs2_logd improvements 2010-05-05 09:39:18 +01:00
lops.h [GFS2] Only do lo_incore_commit once 2008-03-31 10:39:54 +01:00
main.c GFS2: Remove space from slab cache name 2010-03-29 14:26:49 +01:00
Makefile GFS2: Rename eattr.[ch] as xattr.[ch] 2009-08-26 18:51:04 +01:00
meta_io.c GFS2: Eliminate useless err variable 2010-05-12 09:52:50 +01:00
meta_io.h GFS2: Metadata address space clean up 2010-03-01 14:07:37 +00:00
ops_fstype.c GFS2: Various gfs2_logd improvements 2010-05-05 09:39:18 +01:00
ops_inode.c kill spurious reference to vmtruncate 2010-05-27 22:15:42 -04:00
quota.c quota: unify ->set_dqblk 2010-05-21 19:30:44 +02:00
quota.h quota: move code from sync_quota_sb into vfs_quota_sync 2010-03-05 00:20:24 +01:00
recovery.c GFS2: Tag all metadata with jid 2009-12-03 11:58:47 +00:00
recovery.h GFS2: Umount recovery race fix 2009-05-19 10:01:18 +01:00
rgrp.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes 2010-05-25 08:17:51 -07:00
rgrp.h include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
super.c GFS2: Add some useful messages 2010-05-06 11:03:29 +01:00
super.h gfs: constify xattr_handler 2010-05-21 18:31:20 -04:00
sys.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw 2010-05-21 07:29:15 -07:00
sys.h GFS2: Remove ancient, unused code 2009-01-05 07:39:13 +00:00
trace_gfs2.h tracing/events: Move TRACE_SYSTEM outside of include guard 2009-07-13 10:59:55 +02:00
trans.c GFS2: Various gfs2_logd improvements 2010-05-05 09:39:18 +01:00
trans.h [GFS2] Update gfs2_trans_add_unrevoke to accept extents 2008-03-31 10:40:42 +01:00
util.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
util.h GFS2: Metadata address space clean up 2010-03-01 14:07:37 +00:00
xattr.c gfs: constify xattr_handler 2010-05-21 18:31:20 -04:00
xattr.h sanitize xattr handler prototypes 2009-12-16 12:16:49 -05:00