summaryrefslogtreecommitdiffstats
path: root/mm/mmap.c
diff options
context:
space:
mode:
authorHisashi Hifumi2008-04-28 11:12:08 +0200
committerLinus Torvalds2008-04-28 17:58:18 +0200
commit0dd1334faf7e075bfdb6f5284eed65210b296fc1 (patch)
treed64b7b1d4035d8b524b01d5cd3800135edcacc25 /mm/mmap.c
parentremove sparse warning for mmzone.h (diff)
downloadkernel-qcow2-linux-0dd1334faf7e075bfdb6f5284eed65210b296fc1.tar.gz
kernel-qcow2-linux-0dd1334faf7e075bfdb6f5284eed65210b296fc1.tar.xz
kernel-qcow2-linux-0dd1334faf7e075bfdb6f5284eed65210b296fc1.zip
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>
Diffstat (limited to 'mm/mmap.c')
0 files changed, 0 insertions, 0 deletions