The main fix in this patch is that, contrary to what the comment says,
truncate_setsize() should be called *before* filesystem truncated blocks.
CC: Christoph Hellwig <hch@infradead.org>
CC: Al Viro <viro@ZenIV.linux.org.uk>
Signed-off-by: Jan Kara <jack@suse.cz>
---
mm/truncate.c | 11 +++++------
1 files changed, 5 insertions(+), 6 deletions(-)
Andrew, could you merge this patch please? Thanks.
diff --git a/mm/truncate.c b/mm/truncate.c
index ba887bf..e13e535 100644
--- a/mm/truncate.c
+++ b/mm/truncate.c
@@ -545,13 +545,12 @@ EXPORT_SYMBOL(truncate_pagecache);
* @inode: inode
* @newsize: new file size
*
- * truncate_setsize updastes i_size update and performs pagecache
- * truncation (if necessary) for a file size updates. It will be
- * typically be called from the filesystem's setattr function when
- * ATTR_SIZE is passed in.
+ * truncate_setsize updates i_size and performs pagecache truncation (if
+ * necessary) to @newsize. It will be typically be called from the filesystem's
+ * setattr function when ATTR_SIZE is passed in.
*
- * Must be called with inode_mutex held and after all filesystem
- * specific block truncation has been performed.
+ * Must be called with inode_mutex held and before all filesystem specific
+ * block truncation has been performed.
*/
void truncate_setsize(struct inode *inode, loff_t newsize)
{--
1.6.4.2