staging/lustre/llite: do not clear uptodate bit in page delete
Otherwise, if the race between page fault and truncate occurs, it will cause the page fault routine to return an EIO error. In filemap_fault() { page_not_uptodate: ... ClearPageError(page); error = mapping->a_ops->readpage(file, page); if (!error) { wait_on_page_locked(page); if (!PageUptodate(page)) error = -EIO; } ... } However, I tend to think this is a defect in kernel implementation, because it assumes PageUptodate shouldn't be cleared but file read routine doesn't make the same assumption. Signed-off-by: NJinshan Xiong <jinshan.xiong@intel.com> Reviewed-on: http://review.whamcloud.com/22827 Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-8633Reviewed-by: NLi Dongyang <dongyang.li@anu.edu.au> Reviewed-by: NBobi Jam <bobijam@hotmail.com> Signed-off-by: NOleg Drokin <green@linuxhacker.ru> Reviewed-by: NJames Simmons <jsimmons@infradead.org> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Showing
想要评论请 注册 或 登录