Commit f2090d2df51d7cdb2f952dcfdcd8baaac0aec444
Committed by
Linus Torvalds
1 parent
7de7fb6b34
Exists in
master
and in
7 other branches
sys_swapon: remove bdev variable
The bdev variable is always equivalent to (S_ISBLK(inode->i_mode) ? p->bdev : NULL), as long as it being set is moved to a bit earlier. Use this fact to remove the bdev variable. 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>
Showing 1 changed file with 9 additions and 10 deletions Side-by-side Diff
mm/swapfile.c
... | ... | @@ -1893,7 +1893,6 @@ |
1893 | 1893 | { |
1894 | 1894 | struct swap_info_struct *p; |
1895 | 1895 | char *name; |
1896 | - struct block_device *bdev = NULL; | |
1897 | 1896 | struct file *swap_file = NULL; |
1898 | 1897 | struct address_space *mapping; |
1899 | 1898 | int i, prev; |
1900 | 1899 | |
1901 | 1900 | |
1902 | 1901 | |
... | ... | @@ -1944,19 +1943,19 @@ |
1944 | 1943 | } |
1945 | 1944 | |
1946 | 1945 | if (S_ISBLK(inode->i_mode)) { |
1947 | - bdev = bdgrab(I_BDEV(inode)); | |
1948 | - error = blkdev_get(bdev, FMODE_READ | FMODE_WRITE | FMODE_EXCL, | |
1946 | + p->bdev = bdgrab(I_BDEV(inode)); | |
1947 | + error = blkdev_get(p->bdev, | |
1948 | + FMODE_READ | FMODE_WRITE | FMODE_EXCL, | |
1949 | 1949 | sys_swapon); |
1950 | 1950 | if (error < 0) { |
1951 | - bdev = NULL; | |
1951 | + p->bdev = NULL; | |
1952 | 1952 | error = -EINVAL; |
1953 | 1953 | goto bad_swap; |
1954 | 1954 | } |
1955 | - p->old_block_size = block_size(bdev); | |
1956 | - error = set_blocksize(bdev, PAGE_SIZE); | |
1955 | + p->old_block_size = block_size(p->bdev); | |
1956 | + error = set_blocksize(p->bdev, PAGE_SIZE); | |
1957 | 1957 | if (error < 0) |
1958 | 1958 | goto bad_swap; |
1959 | - p->bdev = bdev; | |
1960 | 1959 | p->flags |= SWP_BLKDEV; |
1961 | 1960 | } else if (S_ISREG(inode->i_mode)) { |
1962 | 1961 | p->bdev = inode->i_sb->s_bdev; |
... | ... | @@ -2140,9 +2139,9 @@ |
2140 | 2139 | error = 0; |
2141 | 2140 | goto out; |
2142 | 2141 | bad_swap: |
2143 | - if (bdev) { | |
2144 | - set_blocksize(bdev, p->old_block_size); | |
2145 | - blkdev_put(bdev, FMODE_READ | FMODE_WRITE | FMODE_EXCL); | |
2142 | + if (S_ISBLK(inode->i_mode) && p->bdev) { | |
2143 | + set_blocksize(p->bdev, p->old_block_size); | |
2144 | + blkdev_put(p->bdev, FMODE_READ | FMODE_WRITE | FMODE_EXCL); | |
2146 | 2145 | } |
2147 | 2146 | destroy_swap_extents(p); |
2148 | 2147 | swap_cgroup_swapoff(p->type); |