diff options
Diffstat (limited to 'mm')
-rw-r--r-- | mm/filemap.c | 24 |
1 files changed, 0 insertions, 24 deletions
diff --git a/mm/filemap.c b/mm/filemap.c index 070e7547d5b5..cbea95a25283 100644 --- a/mm/filemap.c +++ b/mm/filemap.c | |||
@@ -1446,30 +1446,6 @@ page_not_uptodate: | |||
1446 | majmin = VM_FAULT_MAJOR; | 1446 | majmin = VM_FAULT_MAJOR; |
1447 | count_vm_event(PGMAJFAULT); | 1447 | count_vm_event(PGMAJFAULT); |
1448 | } | 1448 | } |
1449 | lock_page(page); | ||
1450 | |||
1451 | /* Did it get unhashed while we waited for it? */ | ||
1452 | if (!page->mapping) { | ||
1453 | unlock_page(page); | ||
1454 | page_cache_release(page); | ||
1455 | goto retry_all; | ||
1456 | } | ||
1457 | |||
1458 | /* Did somebody else get it up-to-date? */ | ||
1459 | if (PageUptodate(page)) { | ||
1460 | unlock_page(page); | ||
1461 | goto success; | ||
1462 | } | ||
1463 | |||
1464 | error = mapping->a_ops->readpage(file, page); | ||
1465 | if (!error) { | ||
1466 | wait_on_page_locked(page); | ||
1467 | if (PageUptodate(page)) | ||
1468 | goto success; | ||
1469 | } else if (error == AOP_TRUNCATED_PAGE) { | ||
1470 | page_cache_release(page); | ||
1471 | goto retry_find; | ||
1472 | } | ||
1473 | 1449 | ||
1474 | /* | 1450 | /* |
1475 | * Umm, take care of errors if the page isn't up-to-date. | 1451 | * Umm, take care of errors if the page isn't up-to-date. |