dm: remove dm_mutex after bkl conversion
This patch replaces dm_mutex with _minor_lock in dm_blk_close() and then removes it. During the BKL conversion, commit6e9624b8ca
(block: push down BKL into .open and .release) pushed lock_kernel() down into dm_blk_open/close calls. Commit2a48fc0ab2
(block: autoconvert trivial BKL users to private mutex) converted it to a local mutex, but _minor_lock is sufficient. Signed-off-by: Milan Broz <mbroz@redhat.com> Signed-off-by: Alasdair G Kergon <agk@redhat.com>
This commit is contained in:
parent
5fc2ffeabb
commit
4a1aeb9829
@ -32,7 +32,6 @@
|
||||
#define DM_COOKIE_ENV_VAR_NAME "DM_COOKIE"
|
||||
#define DM_COOKIE_LENGTH 24
|
||||
|
||||
static DEFINE_MUTEX(dm_mutex);
|
||||
static const char *_name = DM_NAME;
|
||||
|
||||
static unsigned int major = 0;
|
||||
@ -328,7 +327,6 @@ static int dm_blk_open(struct block_device *bdev, fmode_t mode)
|
||||
{
|
||||
struct mapped_device *md;
|
||||
|
||||
mutex_lock(&dm_mutex);
|
||||
spin_lock(&_minor_lock);
|
||||
|
||||
md = bdev->bd_disk->private_data;
|
||||
@ -346,7 +344,6 @@ static int dm_blk_open(struct block_device *bdev, fmode_t mode)
|
||||
|
||||
out:
|
||||
spin_unlock(&_minor_lock);
|
||||
mutex_unlock(&dm_mutex);
|
||||
|
||||
return md ? 0 : -ENXIO;
|
||||
}
|
||||
@ -355,10 +352,12 @@ static int dm_blk_close(struct gendisk *disk, fmode_t mode)
|
||||
{
|
||||
struct mapped_device *md = disk->private_data;
|
||||
|
||||
mutex_lock(&dm_mutex);
|
||||
spin_lock(&_minor_lock);
|
||||
|
||||
atomic_dec(&md->open_count);
|
||||
dm_put(md);
|
||||
mutex_unlock(&dm_mutex);
|
||||
|
||||
spin_unlock(&_minor_lock);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user