linux-stable/fs/gfs2
Steven Whitehouse acf7e2444a GFS2: Be extra careful about deallocating inodes
There is a potential race in the inode deallocation code if two
nodes try to deallocate the same inode at the same time. Most of
the issue is solved by the iopen locking. There is still a small
window which is not covered by the iopen lock. This patches fixes
that and also makes the deallocation code more robust in the face of
any errors in the rgrp bitmaps, or erroneous iopen callbacks from
other nodes.

This does introduce one extra disk read, but that is generally not
an issue since its the same block that must be written to later
in the deallocation process. The total disk accesses therefore stay
the same,

Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
2009-09-08 18:00:30 +01:00
..
acl.c GFS2: Rename eattr.[ch] as xattr.[ch] 2009-08-26 18:51:04 +01: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: free disk inode which is deleted by remote node -V2 2009-08-18 10:29:39 +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
export.c GFS2: Be extra careful about deallocating inodes 2009-09-08 18:00:30 +01:00
file.c GFS2: Clean up of extended attribute support 2009-08-26 18:41:32 +01:00
gfs2.h
glock.c GFS2: remove dcache entries for remote deleted inodes 2009-07-30 11:01:03 +01:00
glock.h GFS2: remove dcache entries for remote deleted inodes 2009-07-30 11:01:03 +01:00
glops.c GFS2: remove dcache entries for remote deleted inodes 2009-07-30 11:01:03 +01:00
glops.h GFS2: Add a "demote a glock" interface to sysfs 2009-03-24 11:21:22 +00:00
incore.h GFS2: Remove no_formal_ino generating code 2009-08-27 15:51:07 +01:00
inode.c GFS2: Remove no_formal_ino generating code 2009-08-27 15:51:07 +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
lops.c GFS2: Add tracepoints 2009-06-12 08:49:20 +01:00
lops.h
main.c GFS2: Umount recovery race fix 2009-05-19 10:01:18 +01:00
Makefile GFS2: Rename eattr.[ch] as xattr.[ch] 2009-08-26 18:51:04 +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: Remove no_formal_ino generating code 2009-08-27 15:51:07 +01:00
ops_inode.c GFS2: Rename eattr.[ch] as xattr.[ch] 2009-08-26 18:51:04 +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: Be extra careful about deallocating inodes 2009-09-08 18:00:30 +01:00
rgrp.h GFS2: Be extra careful about deallocating inodes 2009-09-08 18:00:30 +01:00
super.c GFS2: Be extra careful about deallocating inodes 2009-09-08 18:00:30 +01:00
super.h GFS2: Clean up of extended attribute support 2009-08-26 18:41:32 +01:00
sys.c GFS2: Add sysfs link to device 2009-08-17 11:11:18 +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
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: Rename eattr.[ch] as xattr.[ch] 2009-08-26 18:51:04 +01:00
xattr.h GFS2: Rename eattr.[ch] as xattr.[ch] 2009-08-26 18:51:04 +01:00