OpenCloudOS-Kernel/fs/gfs2
Steven Whitehouse 26bb7505cf GFS2: Fix glock refcount issues
This patch fixes some ref counting issues. Firstly by moving
the point at which we drop the ref count after a dlm lock
operation has completed we ensure that we never call
gfs2_glock_hold() on a lock with a zero ref count.

Secondly, by using atomic_dec_and_lock() in gfs2_glock_put()
we ensure that at no time will a glock with zero ref count
appear on the lru_list. That means that we can remove the
check for this in our shrinker (which was racy).

Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
2009-12-03 12:00:12 +00:00
..
Kconfig GFS2: Hook gfs2_quota_sync into VFS via gfs2_quotactl_ops 2009-12-03 11:49:09 +00:00
Makefile GFS2: Rename eattr.[ch] as xattr.[ch] 2009-08-26 18:51:04 +01:00
acl.c GFS2: Add cached ACLs support 2009-12-03 11:47:51 +00:00
acl.h GFS2: Clean up ACLs 2009-12-03 11:47:35 +00:00
aops.c writeback: remove unused nonblocking and congestion checks (gfs2) 2009-12-03 11:59:17 +00: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: free disk inode which is deleted by remote node -V2 2009-08-18 10:29:39 +01:00
dir.c GFS2: Remove dirent_first() function 2009-12-03 11:57:23 +00:00
dir.h GFS2: Fix bug in gfs2_lock_fs_check_clean() 2009-01-05 07:39:11 +00:00
export.c GFS2: Be extra careful about deallocating inodes 2009-09-08 18:00:30 +01:00
file.c const: mark struct vm_struct_operations 2009-09-27 11:39:25 -07:00
gfs2.h [GFS2] Remove remote lock dropping code 2008-06-27 09:39:44 +01:00
glock.c GFS2: Fix glock refcount issues 2009-12-03 12:00:12 +00:00
glock.h GFS2: Remove obsolete code in quota.c 2009-12-03 11:49:30 +00:00
glops.c GFS2: Use forget_all_cached_acls() 2009-12-03 11:45:37 +00:00
glops.h GFS2: Add a "demote a glock" interface to sysfs 2009-03-24 11:21:22 +00:00
incore.h GFS2: add barrier/nobarrier mount options 2009-12-03 11:55:54 +00:00
inode.c GFS2: Tag all metadata with jid 2009-12-03 11:58:47 +00:00
inode.h GFS2: Move gfs2_unlink_ok into ops_inode.c 2009-05-22 10:54:50 +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: Tag all metadata with jid 2009-12-03 11:58:47 +00:00
log.h [GFS2] trivial sparse lock annotations 2008-06-27 09:39:31 +01:00
lops.c GFS2: Tag all metadata with jid 2009-12-03 11:58:47 +00:00
lops.h [GFS2] Only do lo_incore_commit once 2008-03-31 10:39:54 +01:00
main.c SLOW_WORK: Wait for outstanding work items belonging to a module to clear 2009-11-19 18:10:23 +00: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 barrier/nobarrier mount options 2009-12-03 11:55:54 +00:00
ops_inode.c headers: utsname.h redux 2009-09-23 18:13:10 -07:00
quota.c GFS2: Improve statfs and quota usability 2009-12-03 11:55:17 +00:00
quota.h GFS2: Improve statfs and quota usability 2009-12-03 11:55:17 +00: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 GFS2: Locking order fix in gfs2_check_blk_state 2009-12-03 11:57:41 +00:00
rgrp.h GFS2: Be extra careful about deallocating inodes 2009-09-08 18:00:30 +01:00
super.c GFS2: Display nobarrier option in /proc/mounts 2009-12-03 11:57:05 +00:00
super.h GFS2: Alter arguments of gfs2_quota/statfs_sync 2009-12-03 11:48:54 +00:00
sys.c GFS2: Add proper error reporting to quota sync via sysfs 2009-12-03 11:50:03 +00: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: Add "-o errors=panic|withdraw" mount options 2009-08-24 10:44:18 +01:00
util.h GFS2: Clean up & move gfs2_quotad 2009-01-05 07:39:05 +00:00
xattr.c GFS2: Clean up ACLs 2009-12-03 11:47:35 +00:00
xattr.h GFS2: Clean up ACLs 2009-12-03 11:47:35 +00:00