filemap.c (1f2ee6496b1f71e9d5aa2448745e65fbafdc3bd5) | filemap.c (3ef0f720e47e895b613b0305eb0a483e3ec11f23) |
---|---|
1/* 2 * linux/mm/filemap.c 3 * 4 * Copyright (C) 1994-1999 Linus Torvalds 5 */ 6 7/* 8 * This file handles the generic file mmap semantics used by --- 1447 unchanged lines hidden (view full) --- 1456 /* 1457 * Umm, take care of errors if the page isn't up-to-date. 1458 * Try to re-read it _once_. We do this synchronously, 1459 * because there really aren't any performance issues here 1460 * and we need to check for errors. 1461 */ 1462 ClearPageError(page); 1463 error = mapping->a_ops->readpage(file, page); | 1/* 2 * linux/mm/filemap.c 3 * 4 * Copyright (C) 1994-1999 Linus Torvalds 5 */ 6 7/* 8 * This file handles the generic file mmap semantics used by --- 1447 unchanged lines hidden (view full) --- 1456 /* 1457 * Umm, take care of errors if the page isn't up-to-date. 1458 * Try to re-read it _once_. We do this synchronously, 1459 * because there really aren't any performance issues here 1460 * and we need to check for errors. 1461 */ 1462 ClearPageError(page); 1463 error = mapping->a_ops->readpage(file, page); |
1464 if (!error) { 1465 wait_on_page_locked(page); 1466 if (!PageUptodate(page)) 1467 error = -EIO; 1468 } |
|
1464 page_cache_release(page); 1465 1466 if (!error || error == AOP_TRUNCATED_PAGE) 1467 goto retry_find; 1468 1469 /* Things didn't work out. Return zero to tell the mm layer so. */ 1470 shrink_readahead_size_eio(file, ra); 1471 return VM_FAULT_SIGBUS; --- 1125 unchanged lines hidden --- | 1469 page_cache_release(page); 1470 1471 if (!error || error == AOP_TRUNCATED_PAGE) 1472 goto retry_find; 1473 1474 /* Things didn't work out. Return zero to tell the mm layer so. */ 1475 shrink_readahead_size_eio(file, ra); 1476 return VM_FAULT_SIGBUS; --- 1125 unchanged lines hidden --- |