linux-stable/fs/gfs2
Benjamin Marzinski a51b56fff3 GFS2: Fix panic in glock memory shrinker
It is possible for gfs2_shrink_glock_memory() to check a glock for
demotion
that's in the process of being freed by gfs2_glock_put().  In this case,
gfs2_shrink_glock_memory() will acquire a new reference to this glock,
and
then try to free the glock itself when it drops the refernce.  To solve
this, gfs2_shrink_glock_memory() just needs to check if the glock is in
the process of being freed, and if so skip it without ever unlocking the
lru_lock.

Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
Acked-by: Bob Peterson <rpeterso@redhat.com>
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
2009-07-30 10:59:28 +01:00
..
acl.c New helper - current_umask() 2009-03-31 23:00:26 -04:00
acl.h
aops.c GFS2: keep statfs info in sync on grows 2009-07-30 10:52:33 +01:00
bmap.c GFS2: Add tracepoints 2009-06-12 08:49:20 +01:00
bmap.h GFS2: Streamline alloc calculations for writes 2009-01-05 07:39:17 +00:00
dentry.c GFS2: Clean up some file names 2009-05-22 10:01:55 +01:00
dir.c GFS2: Improve resource group error handling 2009-05-20 10:48:47 +01: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
eattr.c GFS2: Improve resource group error handling 2009-05-20 10:48:47 +01:00
eattr.h
export.c GFS2: Clean up some file names 2009-05-22 10:01:55 +01:00
file.c GFS2: Remove unused variable 2009-06-03 10:07:44 +01:00
gfs2.h [GFS2] Remove remote lock dropping code 2008-06-27 09:39:44 +01:00
glock.c GFS2: Fix panic in glock memory shrinker 2009-07-30 10:59:28 +01:00
glock.h GFS2: Merge lock_dlm module into GFS2 2009-03-24 11:21:14 +00:00
glops.c GFS2: Improve resource group error handling 2009-05-20 10:48:47 +01:00
glops.h GFS2: Add a "demote a glock" interface to sysfs 2009-03-24 11:21:22 +00:00
incore.h GFS2: Be more aggressive in reclaiming unlinked inodes 2009-05-21 15:18:19 +01:00
inode.c GFS2: Move gfs2_unlink_ok into ops_inode.c 2009-05-22 10:54:50 +01:00
inode.h GFS2: Move gfs2_unlink_ok into ops_inode.c 2009-05-22 10:54:50 +01:00
Kconfig block: rename CONFIG_LBD to CONFIG_LBDAF 2009-06-19 08:08:50 +02: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: Add tracepoints 2009-06-12 08:49:20 +01:00
log.h [GFS2] trivial sparse lock annotations 2008-06-27 09:39:31 +01:00
lops.c GFS2: Add tracepoints 2009-06-12 08:49:20 +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: Add tracepoints 2009-06-12 08:49:20 +01:00
meta_io.c GFS2: Clean up some file names 2009-05-22 10:01:55 +01:00
meta_io.h GFS2: Clean up of glops.c 2009-03-24 11:21:27 +00:00
ops_fstype.c GFS2: Add tracepoints 2009-06-12 08:49:20 +01:00
ops_inode.c GFS2: Move gfs2_unlink_ok into ops_inode.c 2009-05-22 10:54:50 +01:00
quota.c GFS2: Clean up some file names 2009-05-22 10:01:55 +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: Add tracepoints 2009-06-12 08:49:20 +01:00
rgrp.h GFS2: Improve resource group error handling 2009-05-20 10:48:47 +01:00
super.c GFS2: keep statfs info in sync on grows 2009-07-30 10:52:33 +01:00
super.h GFS2: keep statfs info in sync on grows 2009-07-30 10:52:33 +01:00
sys.c GFS2: Remove args subdir from gfs2 sysfs files 2009-05-26 15:50:25 +01: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: 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