remarkable-linux/fs/gfs2
Steven Whitehouse 209806aba9 [GFS2] Allow local DF locks when holding a cached EX glock
We already allow local SH locks while we hold a cached EX glock, so here
we allow DF locks as well. This works only because we rely on the VFS's
invalidation for locally cached data, and because if we hold an EX lock,
then we know that no other node can be caching data relating to this
file.

It dramatically speeds up initial writes to O_DIRECT files since we fall
back to buffered I/O for this and would otherwise bounce between DF and
EX modes on each and every write call. The lessons to be learned from
that are to ensure that (for the time being anyway) O_DIRECT files are
preallocated and that they are written to using reasonably large I/O
sizes. Even so this change fixes that corner case nicely

Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
2008-07-07 10:07:28 +01:00
..
locking/dlm [GFS2] Fix module building 2008-06-27 09:40:57 +01:00
acl.c [GFS2] fix GFP_KERNEL misuses 2008-04-10 09:55:26 +01:00
acl.h
bmap.c [GFS2] fix gfs2 block allocation (cleaned up) 2008-06-24 19:02:28 +01:00
bmap.h
daemon.c
daemon.h
dir.c [GFS2] fix GFP_KERNEL misuses 2008-04-10 09:55:26 +01:00
dir.h
eaops.c
eaops.h
eattr.c [GFS2] fix GFP_KERNEL misuses 2008-04-10 09:55:26 +01:00
eattr.h
gfs2.h [GFS2] Remove remote lock dropping code 2008-06-27 09:39:44 +01:00
glock.c [GFS2] Allow local DF locks when holding a cached EX glock 2008-07-07 10:07:28 +01:00
glock.h [GFS2] Remove remote lock dropping code 2008-06-27 09:39:44 +01:00
glops.c [GFS2] Clean up the glock core 2008-06-27 09:39:22 +01:00
glops.h
incore.h [GFS2] Clean up the glock core 2008-06-27 09:39:22 +01:00
inode.c [GFS2] don't call permission() 2008-07-03 10:22:01 +01:00
inode.h [GFS2] don't call permission() 2008-07-03 10:22:01 +01:00
Kconfig [GFS2] No lock_nolock 2008-06-27 09:39:28 +01:00
locking.c [GFS2] Fix ordering of args for list_add 2008-06-27 09:39:34 +01:00
log.c [GFS2] trivial sparse lock annotations 2008-06-27 09:39:31 +01:00
log.h [GFS2] trivial sparse lock annotations 2008-06-27 09:39:31 +01:00
lops.c [GFS2] Plug an unlikely leak 2008-03-31 10:40:05 +01:00
lops.h [GFS2] Only do lo_incore_commit once 2008-03-31 10:39:54 +01:00
main.c [GFS2] Clean up the glock core 2008-06-27 09:39:22 +01:00
Makefile [GFS2] No lock_nolock 2008-06-27 09:39:28 +01:00
meta_io.c [GFS2] Clean up the glock core 2008-06-27 09:39:22 +01:00
meta_io.h [GFS2] Clean up the glock core 2008-06-27 09:39:22 +01:00
mount.c
mount.h
ops_address.c [GFS2] Revise readpage locking 2008-06-27 09:39:37 +01:00
ops_address.h
ops_dentry.c [GFS2] Fix a page lock / glock deadlock 2008-03-31 10:41:12 +01:00
ops_dentry.h
ops_export.c [GFS2] test for IS_ERR rather than 0 2008-03-31 10:41:46 +01:00
ops_file.c [GFS2] don't call permission() 2008-07-03 10:22:01 +01:00
ops_fstype.c [GFS2] Remove remote lock dropping code 2008-06-27 09:39:44 +01:00
ops_fstype.h
ops_inode.c [GFS2] don't call permission() 2008-07-03 10:22:01 +01:00
ops_inode.h [GFS2] remove gfs2_dev_iops 2008-03-31 10:41:20 +01:00
ops_super.c [GFS2] Remove remote lock dropping code 2008-06-27 09:39:44 +01:00
ops_super.h
quota.c [GFS2] fix GFP_KERNEL misuses 2008-04-10 09:55:26 +01:00
quota.h [GFS2] Streamline quota lock/check for no-quota case 2008-03-31 10:41:36 +01:00
recovery.c [GFS2] No lock_nolock 2008-06-27 09:39:28 +01:00
recovery.h
rgrp.c [GFS2] BUG: unable to handle kernel paging request at ffff81002690e000 2008-06-24 14:17:45 +01:00
rgrp.h [GFS2] Add extent allocation to block allocator 2008-03-31 10:40:47 +01:00
super.c [GFS2] Clean up the glock core 2008-06-27 09:39:22 +01:00
super.h [GFS2] Remove lm.[ch] and distribute content 2008-03-31 10:40:26 +01:00
sys.c [GFS2] Remove remote lock dropping code 2008-06-27 09:39:44 +01:00
sys.h
trans.c [GFS2] Update gfs2_trans_add_unrevoke to accept extents 2008-03-31 10:40:42 +01:00
trans.h [GFS2] Update gfs2_trans_add_unrevoke to accept extents 2008-03-31 10:40:42 +01:00
util.c [GFS2] Remove lm.[ch] and distribute content 2008-03-31 10:40:26 +01:00
util.h fs: replace remaining __FUNCTION__ occurrences 2008-04-30 08:29:54 -07:00