[PATCH] swap: move destroy_swap_extents calls
authorHugh Dickins <hugh@veritas.com>
Sat, 3 Sep 2005 22:54:33 +0000 (15:54 -0700)
committerLinus Torvalds <torvalds@evo.osdl.org>
Mon, 5 Sep 2005 07:05:40 +0000 (00:05 -0700)
commit4cd3bb10ff0b21b77b5a4cd13b4bd36694e054c4
treee2a76a229b2c030a7d4aec1155e505fd4c087067
parente2244ec2efa4ee1edf391d0001d314933e2b2974
[PATCH] swap: move destroy_swap_extents calls

sys_swapon's call to destroy_swap_extents on failure is made after the final
swap_list_unlock, which is faintly unsafe: another sys_swapon might already be
setting up that swap_info_struct.  Calling it earlier, before taking
swap_list_lock, is safe.  sys_swapoff's call to destroy_swap_extents was safe,
but likewise move it earlier, before taking the locks (once try_to_unuse has
completed, nothing can be needing the swap extents).

Signed-off-by: Hugh Dickins <hugh@veritas.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
mm/swapfile.c