Commit 4a1aeb98 authored by Milan Broz's avatar Milan Broz Committed by Alasdair G Kergon

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, commit 6e9624b8
(block: push down BKL into .open and .release) pushed lock_kernel()
down into dm_blk_open/close calls.
Commit 2a48fc0a
(block: autoconvert trivial BKL users to private mutex) converted it to a
local mutex, but _minor_lock is sufficient.
Signed-off-by: default avatarMilan Broz <mbroz@redhat.com>
Signed-off-by: default avatarAlasdair G Kergon <agk@redhat.com>
parent 5fc2ffea
...@@ -32,7 +32,6 @@ ...@@ -32,7 +32,6 @@
#define DM_COOKIE_ENV_VAR_NAME "DM_COOKIE" #define DM_COOKIE_ENV_VAR_NAME "DM_COOKIE"
#define DM_COOKIE_LENGTH 24 #define DM_COOKIE_LENGTH 24
static DEFINE_MUTEX(dm_mutex);
static const char *_name = DM_NAME; static const char *_name = DM_NAME;
static unsigned int major = 0; static unsigned int major = 0;
...@@ -328,7 +327,6 @@ static int dm_blk_open(struct block_device *bdev, fmode_t mode) ...@@ -328,7 +327,6 @@ static int dm_blk_open(struct block_device *bdev, fmode_t mode)
{ {
struct mapped_device *md; struct mapped_device *md;
mutex_lock(&dm_mutex);
spin_lock(&_minor_lock); spin_lock(&_minor_lock);
md = bdev->bd_disk->private_data; md = bdev->bd_disk->private_data;
...@@ -346,7 +344,6 @@ static int dm_blk_open(struct block_device *bdev, fmode_t mode) ...@@ -346,7 +344,6 @@ static int dm_blk_open(struct block_device *bdev, fmode_t mode)
out: out:
spin_unlock(&_minor_lock); spin_unlock(&_minor_lock);
mutex_unlock(&dm_mutex);
return md ? 0 : -ENXIO; return md ? 0 : -ENXIO;
} }
...@@ -355,10 +352,12 @@ static int dm_blk_close(struct gendisk *disk, fmode_t mode) ...@@ -355,10 +352,12 @@ static int dm_blk_close(struct gendisk *disk, fmode_t mode)
{ {
struct mapped_device *md = disk->private_data; struct mapped_device *md = disk->private_data;
mutex_lock(&dm_mutex); spin_lock(&_minor_lock);
atomic_dec(&md->open_count); atomic_dec(&md->open_count);
dm_put(md); dm_put(md);
mutex_unlock(&dm_mutex);
spin_unlock(&_minor_lock);
return 0; return 0;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment