Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 81767
b: refs/heads/master
c: 0b94e97
h: refs/heads/master
i:
  81765: 8c4c2a0
  81763: 00bed09
  81759: ec6fe2a
v: v3
  • Loading branch information
Matthew Wilcox authored and Matthew Wilcox committed Dec 6, 2007
1 parent 6e40e02 commit 18623a0
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 5 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 2687a3569e40b1302f96698bcd6329aeb0ce3dd2
refs/heads/master: 0b94e97a25d9b06ef17fca8da23169200bead1e2
11 changes: 7 additions & 4 deletions trunk/mm/filemap.c
Original file line number Diff line number Diff line change
Expand Up @@ -982,7 +982,8 @@ void do_generic_mapping_read(struct address_space *mapping,

page_not_up_to_date:
/* Get exclusive access to the page ... */
lock_page(page);
if (lock_page_killable(page))
goto readpage_eio;

/* Did it get truncated before we got the lock? */
if (!page->mapping) {
Expand Down Expand Up @@ -1010,7 +1011,8 @@ void do_generic_mapping_read(struct address_space *mapping,
}

if (!PageUptodate(page)) {
lock_page(page);
if (lock_page_killable(page))
goto readpage_eio;
if (!PageUptodate(page)) {
if (page->mapping == NULL) {
/*
Expand All @@ -1021,15 +1023,16 @@ void do_generic_mapping_read(struct address_space *mapping,
goto find_page;
}
unlock_page(page);
error = -EIO;
shrink_readahead_size_eio(filp, ra);
goto readpage_error;
goto readpage_eio;
}
unlock_page(page);
}

goto page_ok;

readpage_eio:
error = -EIO;
readpage_error:
/* UHHUH! A synchronous read error occurred. Report it */
desc->error = error;
Expand Down

0 comments on commit 18623a0

Please sign in to comment.