linux/fs/gfs2
Steven Whitehouse ab9bbda020 GFS2: Use ->dirty_inode()
The aim of this patch is to use the newly enhanced ->dirty_inode()
super block operation to deal with atime updates, rather than
piggy backing that code into ->write_inode() as is currently
done.

The net result is a simplification of the code in various places
and a reduction of the number of gfs2_dinode_out() calls since
this is now implied by ->dirty_inode().

Some of the mark_inode_dirty() calls have been moved under glocks
in order to take advantage of then being able to avoid locking in
->dirty_inode() when we already have suitable locks.

One consequence is that generic_write_end() now correctly deals
with file size updates, so that we do not need a separate check
for that afterwards. This also, indirectly, means that fdatasync
should work correctly on GFS2 - the current code always syncs the
metadata whether it needs to or not.

Has survived testing with postmark (with and without atime) and
also fsx.

Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
2011-10-21 12:39:26 +01:00
..
Kconfig
Makefile GFS2: Rename ops_inode.c to inode.c 2011-05-10 13:12:49 +01:00
acl.c GFS2: Use ->dirty_inode() 2011-10-21 12:39:26 +01:00
acl.h fs: take the ACL checks to common code 2011-07-25 14:30:23 -04:00
aops.c GFS2: Use ->dirty_inode() 2011-10-21 12:39:26 +01:00
bmap.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6 2011-07-22 19:02:39 -07:00
bmap.h
dentry.c
dir.c GFS2: Use ->dirty_inode() 2011-10-21 12:39:26 +01:00
dir.h GFS2: Cache dir hash table in a contiguous buffer 2011-07-15 09:31:48 +01:00
export.c GFS2: Make writeback more responsive to system conditions 2011-04-20 09:01:37 +01:00
file.c GFS2: Use ->dirty_inode() 2011-10-21 12:39:26 +01:00
gfs2.h
glock.c GFS2: Automatically adjust glock min hold time 2011-07-15 09:32:11 +01:00
glock.h GFS2: Automatically adjust glock min hold time 2011-07-15 09:32:11 +01:00
glops.c GFS2: Fix bug trap and journaled data fsync 2011-10-21 12:39:25 +01:00
glops.h GFS2: Clean up fsync() 2011-04-20 09:00:41 +01:00
incore.h GFS2: Fix inode allocation error path 2011-10-21 12:39:23 +01:00
inode.c GFS2: Use ->dirty_inode() 2011-10-21 12:39:26 +01:00
inode.h GFS2: Use ->dirty_inode() 2011-10-21 12:39:26 +01:00
lock_dlm.c
log.c block: separate priority boosting from REQ_META 2011-08-23 14:50:29 +02:00
log.h GFS2: Make writeback more responsive to system conditions 2011-04-20 09:01:37 +01:00
lops.c GFS2: Optimise glock lru and end of life inodes 2011-04-20 09:01:17 +01:00
lops.h
main.c atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
meta_io.c block: separate priority boosting from REQ_META 2011-08-23 14:50:29 +02:00
meta_io.h GFS2: Remove unused macro 2011-04-20 09:00:24 +01:00
ops_fstype.c block: separate priority boosting from REQ_META 2011-08-23 14:50:29 +02:00
quota.c GFS2: Use ->dirty_inode() 2011-10-21 12:39:26 +01:00
quota.h vmscan: change shrinker API by passing shrink_control struct 2011-05-25 08:39:26 -07:00
recovery.c
recovery.h
rgrp.c GFS2: combine duplicated block freeing routines 2011-07-15 09:32:52 +01:00
rgrp.h GFS2: combine duplicated block freeing routines 2011-07-15 09:32:52 +01:00
super.c GFS2: Use ->dirty_inode() 2011-10-21 12:39:26 +01:00
super.h
sys.c GFS2: Fix race during filesystem mount 2011-07-12 09:15:46 +01:00
sys.h
trace_gfs2.h GFS2: Add an AIL writeback tracepoint 2011-04-20 09:01:58 +01:00
trans.c
trans.h
util.c
util.h
xattr.c GFS2: Use ->dirty_inode() 2011-10-21 12:39:26 +01:00
xattr.h