Re: [RESEND] [PATCH] fix invalidate_inode_pages2_range not to clear ret

From: Jeff Moyer
Date: Wed Feb 20 2008 - 13:08:45 EST


Hisashi Hifumi <hifumi.hisashi@xxxxxxxxxxxxx> writes:

> Hi Andrew.
>
> 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.
>
> Following patch fixes this issue.

I agree with the patch (and I see Andrew already accepted it). Do you
have a reproducer for this problem?

Cheers,

Jeff
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/