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 ---