linux/fs/gfs2
Wendy Cheng 090ffaa55d [GFS2] inode size inconsistency
This should have been part of the NFS patch #1 but somehow I missed it
when packaging the patches. It is not a critical issue as the others (I
hope). RHEL 5.1 31.el5 kernel runs fine without this change.

Our truncate code is chopped into two parts, one for vfs inode changes
(in vmtruncate()) and one of gfs inode (in gfs2_truncatei()). These two
operatons are, unfortunately, not atomic. So it could happens that
vmtruncate() succeeds (inode->i_size is changed) but gfs2_truncatei
fails (say kernel temporarily out of memory). This would leave gfs inode
i_di.di_size out of sync with vfs inode i_size. It will later confuse
gfs2_commit_write() if a write is issued. Last time I checked, it will
cause file corruption.

Signed-off-by: S. Wendy Cheng <wcheng@redhat.com>
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
2007-07-09 08:23:59 +01:00
..
locking [GFS2] return conflicts for GETLK 2007-07-09 08:23:33 +01: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 [GFS2] Fix gfs2_block_truncate_page err return 2007-07-09 08:23:54 +01: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 [GFS2] Add nanosecond timestamp feature 2007-07-09 08:23:12 +01:00
dir.h [GFS2] Clean up inode number handling 2007-07-09 08:22:24 +01: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 [GFS2] Add nanosecond timestamp feature 2007-07-09 08:23:12 +01: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] Simplify multiple glock aquisition 2007-07-09 08:23:50 +01:00
glock.h [GFS2] Fix deallocation issues 2007-07-09 08:23:36 +01:00
glops.c [GFS2] flush the glock completely in inode_go_sync 2007-07-09 08:22:07 +01:00
glops.h [GFS2] Make headers compile on their own 2006-09-05 10:39:21 -04:00
incore.h [GFS2] assertion failure after writing to journaled file, umount 2007-07-09 08:23:47 +01:00
inode.c [GFS2] Fix deallocation issues 2007-07-09 08:23:36 +01:00
inode.h [GFS2] Fix sign problem in quota/statfs and cleanup _host structures 2007-07-09 08:23:10 +01: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] assertion failure after writing to journaled file, umount 2007-07-09 08:23:47 +01:00
log.h [GFS2] Move gfs2_meta_syncfs() into log.c 2006-11-30 10:36:45 -05:00
lops.c [GFS2] Addendum to the journaled file/unmount patch 2007-07-09 08:23:52 +01:00
lops.h [GFS2] assertion failure after writing to journaled file, umount 2007-07-09 08:23:47 +01:00
main.c Remove SLAB_CTOR_CONSTRUCTOR 2007-05-17 05:23:04 -07:00
Makefile [GFS2] Fix sign problem in quota/statfs and cleanup _host structures 2007-07-09 08:23:10 +01:00
meta_io.c [GFS2] assertion failure after writing to journaled file, umount 2007-07-09 08:23:47 +01:00
meta_io.h [GFS2] Clean up inode number handling 2007-07-09 08:22:24 +01:00
mount.c [GFS2] use lib/parser for parsing mount options 2007-05-01 09:11:43 +01:00
mount.h [GFS2] Make headers compile on their own 2006-09-05 10:39:21 -04:00
ops_address.c [GFS2] Use zero_user_page() in stuffed_readpage() 2007-07-09 08:23:45 +01:00
ops_address.h [GFS2] Addendum patch 2 for gfs2_grow 2007-07-09 08:22:19 +01:00
ops_dentry.c [GFS2] Clean up inode number handling 2007-07-09 08:22:24 +01:00
ops_dentry.h [GFS2] Make headers compile on their own 2006-09-05 10:39:21 -04:00
ops_export.c [GFS2] Fix sign problem in quota/statfs and cleanup _host structures 2007-07-09 08:23:10 +01:00
ops_file.c [GFS2] Clean up inode number handling 2007-07-09 08:22:24 +01:00
ops_file.h [GFS2] Only set inode flags when required 2006-11-30 10:34:45 -05:00
ops_fstype.c [GFS2] Can't mount GFS2 file system on AoE device 2007-07-09 08:23:24 +01:00
ops_fstype.h [GFS2] Fix sign problem in quota/statfs and cleanup _host structures 2007-07-09 08:23:10 +01:00
ops_inode.c [GFS2] inode size inconsistency 2007-07-09 08:23:59 +01:00
ops_inode.h [PATCH] mark struct inode_operations const 2 2007-02-12 09:48:46 -08:00
ops_super.c [GFS2] Fix deallocation issues 2007-07-09 08:23:36 +01:00
ops_super.h [PATCH] Mark struct super_operations const 2007-02-12 09:48:47 -08:00
ops_vm.c [GFS2] Fix sign problem in quota/statfs and cleanup _host structures 2007-07-09 08:23:10 +01:00
ops_vm.h [GFS2] Make headers compile on their own 2006-09-05 10:39:21 -04:00
quota.c [GFS2] Fix sign problem in quota/statfs and cleanup _host structures 2007-07-09 08:23:10 +01:00
quota.h [GFS2] Make headers compile on their own 2006-09-05 10:39:21 -04:00
recovery.c [GFS2] Fix sign problem in quota/statfs and cleanup _host structures 2007-07-09 08:23:10 +01:00
recovery.h [GFS2] split and annotate gfs2_log_head 2006-11-30 10:33:14 -05:00
rgrp.c [GFS2] Remove bogus '\0' in rgrp.c 2007-07-09 08:23:43 +01:00
rgrp.h [GFS2] Addendum patch 2 for gfs2_grow 2007-07-09 08:22:19 +01:00
super.c [GFS2] Fix sign problem in quota/statfs and cleanup _host structures 2007-07-09 08:23:10 +01:00
super.h [GFS2] Fix sign problem in quota/statfs and cleanup _host structures 2007-07-09 08:23:10 +01:00
sys.c remove "struct subsystem" as it is no longer needed 2007-05-02 18:57:59 -07: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 [GFS2] Fix sign problem in quota/statfs and cleanup _host structures 2007-07-09 08:23:10 +01: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