summaryrefslogtreecommitdiffstats
path: root/block
diff options
context:
space:
mode:
authorCesar Eduardo Barros <cesarb@cesarb.net>2012-12-12 01:01:14 +0100
committerLinus Torvalds <torvalds@linux-foundation.org>2012-12-12 02:22:24 +0100
commit6555bc035731eab76c0901925034465d3ad2099c (patch)
tree69a3bd3525ad425204a91a6bbf07486789ae28bc /block
parentmm: refactor reinsert of swap_info in sys_swapoff() (diff)
downloadlinux-6555bc035731eab76c0901925034465d3ad2099c.tar.xz
linux-6555bc035731eab76c0901925034465d3ad2099c.zip
mm: do not call frontswap_init() during swapoff
The call to frontswap_init() was added within enable_swap_info(), which was called not only during sys_swapon, but also to reinsert the swap_info into the swap_list in case of failure of try_to_unuse() within sys_swapoff. This means that frontswap_init() might be called more than once for the same swap area. While as far as I could see no frontswap implementation has any problem with it (and in fact, all the ones I found ignore the parameter passed to frontswap_init), this could change in the future. To prevent future problems, move the call to frontswap_init() to outside the code shared between sys_swapon and sys_swapoff. Signed-off-by: Cesar Eduardo Barros <cesarb@cesarb.net> Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> Acked-by: Dan Magenheimer <dan.magenheimer@oracle.com> Cc: Mel Gorman <mgorman@suse.de> Cc: Rik van Riel <riel@redhat.com> Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> Cc: Johannes Weiner <hannes@cmpxchg.org> Cc: Hugh Dickins <hughd@google.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'block')
0 files changed, 0 insertions, 0 deletions