vfs: Fix vmtruncate() regression
commitaf55a3da5049fb26a84ba562c7c8b55b910ff234
authorOGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
Wed, 13 Jan 2010 12:14:09 +0000 (13 21:14 +0900)
committerGreg Kroah-Hartman <gregkh@suse.de>
Fri, 22 Jan 2010 23:18:41 +0000 (22 15:18 -0800)
tree75007a5c816a603ae229df2732f5f33416d07f82
parent26931397cc71bcac187efdcd2fc43ce0d41e4eb0
vfs: Fix vmtruncate() regression

commit cedabed49b39b4319bccc059a63344b6232b619c upstream.

If __block_prepare_write() was failed in block_write_begin(), the
allocated blocks can be outside of ->i_size.

But new truncate_pagecache() in vmtuncate() does nothing if new < old.
It means the above usage is not working anymore.

So, this patch fixes it by removing "new < old" check. It would need
more cleanup/change. But, now -rc and truncate working is in progress,
so, this tried to fix it minimum change.

Acked-by: Nick Piggin <npiggin@suse.de>
Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
mm/truncate.c