Files
linux/mm
Hisashi Hifumi 0dd1334faf fix invalidate_inode_pages2_range() to not clear ret
DIO invalidates page cache through invalidate_inode_pages2_range().
invalidate_inode_pages2_range() sets ret=-EIO when
invalidate_complete_page2() fails, but this ret is cleared if
do_launder_page() succeed on a page of next index.

In this case, dio is carried out even if invalidate_complete_page2() fails
on some pages.

This can cause inconsistency between memory and blocks on HDD because the
page cache still exists.

[akpm@linux-foundation.org: coding-style fixes]
Signed-off-by: Hisashi Hifumi <hifumi.hisashi@oss.ntt.co.jp>
Cc: Badari Pulavarty <pbadari@us.ibm.com>
Cc: Ken Chen <kenchen@google.com>
Cc: Zach Brown <zach.brown@oracle.com>
Cc: Nick Piggin <nickpiggin@yahoo.com.au>
Cc: Trond Myklebust <trond.myklebust@fys.uio.no>
Cc: "J. Bruce Fields" <bfields@fieldses.org>
Cc: Chuck Lever <cel@citi.umich.edu>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-04-28 08:58:18 -07:00
..
2008-03-19 18:53:35 -07:00
2008-03-19 18:53:35 -07:00
2008-03-19 18:53:35 -07:00
2008-04-17 20:05:36 +02:00
2008-04-08 18:25:53 -07:00
2007-10-20 01:27:18 +02:00
2007-02-15 09:57:03 -08:00
2008-02-08 18:57:39 -08:00
2007-10-18 14:37:31 -07:00
2007-05-21 09:18:19 -07:00
2008-04-15 19:35:40 -07:00
2008-02-05 09:44:19 -08:00
2007-10-20 01:27:18 +02:00
2008-03-19 18:53:35 -07:00
2007-11-14 18:45:41 -08:00
2008-03-19 18:53:35 -07:00