diff options
| author | Jinshan Xiong <[email protected]> | 2016-11-02 21:25:03 -0400 |
|---|---|---|
| committer | Greg Kroah-Hartman <[email protected]> | 2016-11-07 11:36:46 +0100 |
| commit | 7995035f0df50973a15eeb69cfc02446ddacbbbc (patch) | |
| tree | 8c90ba4c473124a29c7cddb5dc524834ade5e0cb /tools | |
| parent | 4a21aef42fc71e192dc10496e7ce004a3cd986d8 (diff) | |
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: Jinshan Xiong <[email protected]>
Reviewed-on: http://review.whamcloud.com/22827
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-8633
Reviewed-by: Li Dongyang <[email protected]>
Reviewed-by: Bobi Jam <[email protected]>
Signed-off-by: Oleg Drokin <[email protected]>
Reviewed-by: James Simmons <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
Diffstat (limited to 'tools')
0 files changed, 0 insertions, 0 deletions