summaryrefslogtreecommitdiffstats
path: root/fs/xfs/xfs_dir2_block.c
diff options
context:
space:
mode:
authorDavid Chinner <dgc@sgi.com>2007-07-19 16:28:58 +1000
committerTim Shimmin <tes@chook.melbourne.sgi.com>2007-07-19 19:52:05 +1000
commitc32676eea19ce29cb74dba0f97b085e83f6b8915 (patch)
tree5eddf206e10b0b1857c899fd9939c517aa758359 /fs/xfs/xfs_dir2_block.c
parent91ebecc74eeeeea0a2aa50bf1964ec2214a229c9 (diff)
[XFS] Fix inode size update before data write in xfs_setattr
When changing the file size by a truncate() call, we log the change in the inode size. However, we do not flush any outstanding data that might not have been written to disk, thereby violating the data/inode size update order. This can leave files full of NULLs on crash. Hence if we are truncating the file, flush any unwritten data that may lie between the curret on disk inode size and the new inode size that is being logged to ensure that ordering is preserved. SGI-PV: 966308 SGI-Modid: xfs-linux-melb:xfs-kern:29174a Signed-off-by: David Chinner <dgc@sgi.com> Signed-off-by: Christoph Hellwig <hch@infradead.org> Signed-off-by: Tim Shimmin <tes@sgi.com>
Diffstat (limited to 'fs/xfs/xfs_dir2_block.c')
0 files changed, 0 insertions, 0 deletions