projects
/
linux-2.6-block.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
| inline |
side by side
mm: modify swap_map and add SWAP_HAS_CACHE flag
[linux-2.6-block.git]
/
mm
/
swap_state.c
diff --git
a/mm/swap_state.c
b/mm/swap_state.c
index 19bdf3017a9ed30d7dccdd97ceb62bc06c029c4b..b9ca029673a53d52e8353008f3b161878127e0c9 100644
(file)
--- a/
mm/swap_state.c
+++ b/
mm/swap_state.c
@@
-292,7
+292,10
@@
struct page *read_swap_cache_async(swp_entry_t entry, gfp_t gfp_mask,
/*
* Swap entry may have been freed since our caller observed it.
*/
- if (!swapcache_prepare(entry))
+ err = swapcache_prepare(entry);
+ if (err == -EEXIST) /* seems racy */
+ continue;
+ if (err) /* swp entry is obsolete ? */
break;
/*