kernel-fxtec-pro1x/fs/gfs2
Steven Whitehouse 3b8249f617 [GFS2] Fix bz 224480 and cleanup glock demotion code
This patch prevents the printing of a warning message in cases where
the fs is functioning normally by handing off responsibility for
unlinked, but still open inodes, to another node for eventual deallocation.
Also, there is now an improved system for ensuring that such requests
to other nodes do not get lost. The callback on the iopen lock is
only ever called when i_nlink == 0 and when a node is unable to deallocate
it due to it still being in use on another node. When a node receives
the callback therefore, it knows that i_nlink must be zero, so we mark
it as such (in gfs2_drop_inode) in order that it will then attempt
deallocation of the inode itself.

As an additional benefit, queuing a demote request no longer requires
a memory allocation. This simplifies the code for dealing with gfs2_holders
as it removes one special case.

There are two new fields in struct gfs2_glock. gl_demote_state is the
state which the remote node has requested and gl_demote_time is the
time when the request came in. Both fields are only valid when the
GLF_DEMOTE flag is set in gl_flags.

Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
2007-05-01 09:10:39 +01:00
..
locking [PATCH] mark struct file_operations const 6 2007-02-12 09:48:45 -08:00
acl.c [GFS2] Remove gfs2_check_acl() 2006-11-30 10:37:32 -05:00
acl.h [GFS2] Remove gfs2_check_acl() 2006-11-30 10:37:32 -05:00
bmap.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
bmap.h [GFS2] Fix bmap to map extents properly 2006-10-20 09:13:40 -04:00
daemon.c [GFS2] Fix journal flush problem 2006-11-30 10:36:42 -05:00
daemon.h [GFS2] Update copyright, tidy up incore.h 2006-09-01 11:05:15 -04:00
dir.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
dir.h [GFS2] Clean up/speed up readdir 2007-02-05 13:37:04 -05:00
eaops.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
eaops.h [GFS2] Extended attribute code style changes 2006-09-05 13:15:18 -04:00
eattr.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
eattr.h [GFS2] gfs2 misc endianness annotations 2006-11-30 10:33:46 -05:00
gfs2.h [GFS2] Update copyright, tidy up incore.h 2006-09-01 11:05:15 -04:00
glock.c [GFS2] Fix bz 224480 and cleanup glock demotion code 2007-05-01 09:10:39 +01:00
glock.h [GFS2] Fix bz 224480 and cleanup glock demotion code 2007-05-01 09:10:39 +01:00
glops.c [GFS2] Fix bz 229873, alternate test: assertion "!ip->i_inode.i_mapping->nrpages" failed 2007-03-07 14:03:53 -05:00
glops.h [GFS2] Make headers compile on their own 2006-09-05 10:39:21 -04:00
incore.h [GFS2] Fix bz 224480 and cleanup glock demotion code 2007-05-01 09:10:39 +01:00
inode.c [GFS2] Fix bz 229831, lookup returns wrong inode 2007-03-07 14:01:53 -05:00
inode.h [GFS2] make gfs2_change_nlink_i() static 2007-02-05 13:36:49 -05:00
Kconfig [DLM/GFS2] indent help text 2007-02-05 13:38:20 -05:00
lm.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
lm.h [GFS2] Use void * instead of typedef for locking module interface 2006-09-08 10:17:58 -04:00
locking.c [GFS2] Export lm_interface to kernel headers 2006-09-19 08:45:18 -04:00
log.c [GFS2] fs/gfs2/log.c:log_bmap() fix printk format warning 2006-11-30 10:37:04 -05:00
log.h [GFS2] Move gfs2_meta_syncfs() into log.c 2006-11-30 10:36:45 -05:00
lops.c [GFS2] Fix list corruption in lops.c 2007-02-05 13:37:56 -05:00
lops.h [GFS2] split and annotate gfs2_log_head 2006-11-30 10:33:14 -05:00
main.c [GFS2] Fix bz 224480 and cleanup glock demotion code 2007-05-01 09:10:39 +01:00
Makefile [GFS2] Update copyright, tidy up incore.h 2006-09-01 11:05:15 -04:00
meta_io.c [PATCH] Transform kmem_cache_alloc()+memset(0) -> kmem_cache_zalloc(). 2007-02-11 10:51:27 -08:00
meta_io.h [GFS2] Move gfs2_meta_syncfs() into log.c 2006-11-30 10:36:45 -05:00
mount.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
mount.h [GFS2] Make headers compile on their own 2006-09-05 10:39:21 -04:00
ondisk.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
ops_address.c [GFS2] Fix bz 231380, unlock page before dequeing glocks in gfs2_commit_write 2007-05-01 09:10:37 +01:00
ops_address.h [GFS2] Make headers compile on their own 2006-09-05 10:39:21 -04:00
ops_dentry.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
ops_dentry.h [GFS2] Make headers compile on their own 2006-09-05 10:39:21 -04:00
ops_export.c [GFS2] NFS filehandle check 2007-03-07 13:57:34 -05:00
ops_export.h [GFS2] split and annotate gfs2_inum 2006-11-30 10:33:32 -05:00
ops_file.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
ops_file.h [GFS2] Only set inode flags when required 2006-11-30 10:34:45 -05:00
ops_fstype.c [GFS2] Add gfs2_tool lockdump support to gfs2 (bz 228540) 2007-05-01 09:10:29 +01:00
ops_fstype.h [GFS2] Make headers compile on their own 2006-09-05 10:39:21 -04:00
ops_inode.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
ops_inode.h [PATCH] mark struct inode_operations const 2 2007-02-12 09:48:46 -08:00
ops_super.c [GFS2] Fix bz 224480 and cleanup glock demotion code 2007-05-01 09:10:39 +01:00
ops_super.h [PATCH] Mark struct super_operations const 2007-02-12 09:48:47 -08:00
ops_vm.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
ops_vm.h [GFS2] Make headers compile on their own 2006-09-05 10:39:21 -04:00
quota.c [GFS2] fix locking mistake 2007-03-07 13:56:41 -05:00
quota.h [GFS2] Make headers compile on their own 2006-09-05 10:39:21 -04:00
recovery.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
recovery.h [GFS2] split and annotate gfs2_log_head 2006-11-30 10:33:14 -05:00
rgrp.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
rgrp.h [GFS2] Fix uninitialised variable 2006-10-12 17:10:15 -04:00
super.c [GFS2] Remove unused variable 2007-03-07 14:02:30 -05:00
super.h [GFS2] split and annotate gfs2_statfs_change 2006-11-30 10:33:38 -05:00
sys.c [GFS2] Remove the "greedy" function from glock.[ch] 2007-02-05 13:37:14 -05:00
sys.h [GFS2] Make headers compile on their own 2006-09-05 10:39:21 -04:00
trans.c [GFS2] Export lm_interface to kernel headers 2006-09-19 08:45:18 -04:00
trans.h [GFS2] Make headers compile on their own 2006-09-05 10:39:21 -04:00
util.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
util.h Merge master.kernel.org:/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw 2006-12-07 09:13:20 -08:00