From: Cesar Eduardo Barros Date: Tue, 22 Mar 2011 23:33:27 +0000 (-0700) Subject: sys_swapon: simplify error flow in claim_swapfile() X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=87ade72a799a9a895b4a60918c32b43d3dfc3324;p=openwrt%2Fstaging%2Fblogic.git sys_swapon: simplify error flow in claim_swapfile() Since there is no cleanup to do, there is no reason to jump to a label. Return directly instead. Signed-off-by: Cesar Eduardo Barros Tested-by: Eric B Munson Acked-by: Eric B Munson Reviewed-by: KAMEZAWA Hiroyuki Cc: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- diff --git a/mm/swapfile.c b/mm/swapfile.c index fc687b234eb5..61a604c12a96 100644 --- a/mm/swapfile.c +++ b/mm/swapfile.c @@ -1900,30 +1900,22 @@ static int claim_swapfile(struct swap_info_struct *p, struct inode *inode) sys_swapon); if (error < 0) { p->bdev = NULL; - error = -EINVAL; - goto bad_swap; + return -EINVAL; } p->old_block_size = block_size(p->bdev); error = set_blocksize(p->bdev, PAGE_SIZE); if (error < 0) - goto bad_swap; + return error; p->flags |= SWP_BLKDEV; } else if (S_ISREG(inode->i_mode)) { p->bdev = inode->i_sb->s_bdev; mutex_lock(&inode->i_mutex); - if (IS_SWAPFILE(inode)) { - error = -EBUSY; - goto bad_swap; - } - } else { - error = -EINVAL; - goto bad_swap; - } + if (IS_SWAPFILE(inode)) + return -EBUSY; + } else + return -EINVAL; return 0; - -bad_swap: - return error; } SYSCALL_DEFINE2(swapon, const char __user *, specialfile, int, swap_flags)