diff options
author | Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it> | 2005-09-03 18:54:55 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@evo.osdl.org> | 2005-09-05 03:05:45 -0400 |
commit | d44ed4f86892e350f4b16a3489b7e7c1a9bb7ead (patch) | |
tree | 19614a214c186c62ee6c5d3879392f6184f93e5b /mm/shmem.c | |
parent | 0abf40c1ac3f25d264c019e1cfe155d590defb87 (diff) |
[PATCH] shmem_populate: avoid an useless check, and some comments
Either shmem_getpage returns a failure, or it found a page, or it was told
it couldn't do any I/O. So it's useless to check nonblock in the else
branch. We could add a BUG() there but I preferred to comment the
offending function.
This was taken out from one Ingo Molnar's old patch I'm resurrecting.
Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Hugh Dickins <hugh@veritas.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'mm/shmem.c')
-rw-r--r-- | mm/shmem.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/mm/shmem.c b/mm/shmem.c index 5a81b1ee4f7a..08a3bc2fba61 100644 --- a/mm/shmem.c +++ b/mm/shmem.c | |||
@@ -1195,6 +1195,7 @@ static int shmem_populate(struct vm_area_struct *vma, | |||
1195 | err = shmem_getpage(inode, pgoff, &page, sgp, NULL); | 1195 | err = shmem_getpage(inode, pgoff, &page, sgp, NULL); |
1196 | if (err) | 1196 | if (err) |
1197 | return err; | 1197 | return err; |
1198 | /* Page may still be null, but only if nonblock was set. */ | ||
1198 | if (page) { | 1199 | if (page) { |
1199 | mark_page_accessed(page); | 1200 | mark_page_accessed(page); |
1200 | err = install_page(mm, vma, addr, page, prot); | 1201 | err = install_page(mm, vma, addr, page, prot); |
@@ -1202,7 +1203,10 @@ static int shmem_populate(struct vm_area_struct *vma, | |||
1202 | page_cache_release(page); | 1203 | page_cache_release(page); |
1203 | return err; | 1204 | return err; |
1204 | } | 1205 | } |
1205 | } else if (nonblock) { | 1206 | } else { |
1207 | /* No page was found just because we can't read it in | ||
1208 | * now (being here implies nonblock != 0), but the page | ||
1209 | * may exist, so set the PTE to fault it in later. */ | ||
1206 | err = install_file_pte(mm, vma, addr, pgoff, prot); | 1210 | err = install_file_pte(mm, vma, addr, pgoff, prot); |
1207 | if (err) | 1211 | if (err) |
1208 | return err; | 1212 | return err; |