diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2016-01-22 15:40:57 -0500 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2016-01-22 18:04:28 -0500 |
commit | 5955102c9984fa081b2d570cfac75c97eecf8f3b (patch) | |
tree | a4744386eac4b916e847eb4eedfada158f6527b4 /mm/swapfile.c | |
parent | 57b8f112cfe6622ddddb8c2641206bb5fa8a112d (diff) |
wrappers for ->i_mutex access
parallel to mutex_{lock,unlock,trylock,is_locked,lock_nested},
inode_foo(inode) being mutex_foo(&inode->i_mutex).
Please, use those for access to ->i_mutex; over the coming cycle
->i_mutex will become rwsem, with ->lookup() done with it held
only shared.
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'mm/swapfile.c')
-rw-r--r-- | mm/swapfile.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/mm/swapfile.c b/mm/swapfile.c index c43f654a7b64..d2c37365e2d6 100644 --- a/mm/swapfile.c +++ b/mm/swapfile.c | |||
@@ -1956,9 +1956,9 @@ SYSCALL_DEFINE1(swapoff, const char __user *, specialfile) | |||
1956 | set_blocksize(bdev, old_block_size); | 1956 | set_blocksize(bdev, old_block_size); |
1957 | blkdev_put(bdev, FMODE_READ | FMODE_WRITE | FMODE_EXCL); | 1957 | blkdev_put(bdev, FMODE_READ | FMODE_WRITE | FMODE_EXCL); |
1958 | } else { | 1958 | } else { |
1959 | mutex_lock(&inode->i_mutex); | 1959 | inode_lock(inode); |
1960 | inode->i_flags &= ~S_SWAPFILE; | 1960 | inode->i_flags &= ~S_SWAPFILE; |
1961 | mutex_unlock(&inode->i_mutex); | 1961 | inode_unlock(inode); |
1962 | } | 1962 | } |
1963 | filp_close(swap_file, NULL); | 1963 | filp_close(swap_file, NULL); |
1964 | 1964 | ||
@@ -2183,7 +2183,7 @@ static int claim_swapfile(struct swap_info_struct *p, struct inode *inode) | |||
2183 | p->flags |= SWP_BLKDEV; | 2183 | p->flags |= SWP_BLKDEV; |
2184 | } else if (S_ISREG(inode->i_mode)) { | 2184 | } else if (S_ISREG(inode->i_mode)) { |
2185 | p->bdev = inode->i_sb->s_bdev; | 2185 | p->bdev = inode->i_sb->s_bdev; |
2186 | mutex_lock(&inode->i_mutex); | 2186 | inode_lock(inode); |
2187 | if (IS_SWAPFILE(inode)) | 2187 | if (IS_SWAPFILE(inode)) |
2188 | return -EBUSY; | 2188 | return -EBUSY; |
2189 | } else | 2189 | } else |
@@ -2416,7 +2416,7 @@ SYSCALL_DEFINE2(swapon, const char __user *, specialfile, int, swap_flags) | |||
2416 | mapping = swap_file->f_mapping; | 2416 | mapping = swap_file->f_mapping; |
2417 | inode = mapping->host; | 2417 | inode = mapping->host; |
2418 | 2418 | ||
2419 | /* If S_ISREG(inode->i_mode) will do mutex_lock(&inode->i_mutex); */ | 2419 | /* If S_ISREG(inode->i_mode) will do inode_lock(inode); */ |
2420 | error = claim_swapfile(p, inode); | 2420 | error = claim_swapfile(p, inode); |
2421 | if (unlikely(error)) | 2421 | if (unlikely(error)) |
2422 | goto bad_swap; | 2422 | goto bad_swap; |
@@ -2561,7 +2561,7 @@ bad_swap: | |||
2561 | vfree(cluster_info); | 2561 | vfree(cluster_info); |
2562 | if (swap_file) { | 2562 | if (swap_file) { |
2563 | if (inode && S_ISREG(inode->i_mode)) { | 2563 | if (inode && S_ISREG(inode->i_mode)) { |
2564 | mutex_unlock(&inode->i_mutex); | 2564 | inode_unlock(inode); |
2565 | inode = NULL; | 2565 | inode = NULL; |
2566 | } | 2566 | } |
2567 | filp_close(swap_file, NULL); | 2567 | filp_close(swap_file, NULL); |
@@ -2574,7 +2574,7 @@ out: | |||
2574 | if (name) | 2574 | if (name) |
2575 | putname(name); | 2575 | putname(name); |
2576 | if (inode && S_ISREG(inode->i_mode)) | 2576 | if (inode && S_ISREG(inode->i_mode)) |
2577 | mutex_unlock(&inode->i_mutex); | 2577 | inode_unlock(inode); |
2578 | return error; | 2578 | return error; |
2579 | } | 2579 | } |
2580 | 2580 | ||