sys_swapon: do only cleanup in the cleanup blocks
authorCesar Eduardo Barros <cesarb@cesarb.net>
Tue, 22 Mar 2011 23:33:24 +0000 (16:33 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 23 Mar 2011 00:44:07 +0000 (17:44 -0700)
commit9b01c350af4fb00fe2ab66ff9bf16058c50b69bd
tree246a4e93384acaca2ae91826448bfed5da08cb07
parentf2090d2df51d7cdb2f952dcfdcd8baaac0aec444
sys_swapon: do only cleanup in the cleanup blocks

The only way error is 0 in the cleanup blocks is when the function is
returning successfully. In this case, the cleanup blocks were setting
S_SWAPFILE in the S_ISREG case. But this is not a cleanup.

Move the setting of S_SWAPFILE to just before the "goto out;" to make
this more clear. At this point, we do not need to test for inode because
it will never be NULL.

Signed-off-by: Cesar Eduardo Barros <cesarb@cesarb.net>
Tested-by: Eric B Munson <emunson@mgebm.net>
Acked-by: Eric B Munson <emunson@mgebm.net>
Reviewed-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Cc: Hugh Dickins <hughd@google.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
mm/swapfile.c