Commit cf13ab8e authored by Frederik Deweerdt's avatar Frederik Deweerdt Committed by Alasdair G Kergon

dm: remove md argument from specific_minor

The small patch below:
- Removes the unused md argument from both specific_minor() and next_free_minor()
- Folds kmalloc + memset(0) into a single kzalloc call in alloc_dev()

This has been compile tested on x86.
Signed-off-by: default avatarFrederik Deweerdt <frederik.deweerdt@gmail.com>
Signed-off-by: default avatarAlasdair G Kergon <agk@redhat.com>
parent 4fdfe401
...@@ -924,7 +924,7 @@ static void free_minor(int minor) ...@@ -924,7 +924,7 @@ static void free_minor(int minor)
/* /*
* See if the device with a specific minor # is free. * See if the device with a specific minor # is free.
*/ */
static int specific_minor(struct mapped_device *md, int minor) static int specific_minor(int minor)
{ {
int r, m; int r, m;
...@@ -957,7 +957,7 @@ out: ...@@ -957,7 +957,7 @@ out:
return r; return r;
} }
static int next_free_minor(struct mapped_device *md, int *minor) static int next_free_minor(int *minor)
{ {
int r, m; int r, m;
...@@ -968,9 +968,8 @@ static int next_free_minor(struct mapped_device *md, int *minor) ...@@ -968,9 +968,8 @@ static int next_free_minor(struct mapped_device *md, int *minor)
spin_lock(&_minor_lock); spin_lock(&_minor_lock);
r = idr_get_new(&_minor_idr, MINOR_ALLOCED, &m); r = idr_get_new(&_minor_idr, MINOR_ALLOCED, &m);
if (r) { if (r)
goto out; goto out;
}
if (m >= (1 << MINORBITS)) { if (m >= (1 << MINORBITS)) {
idr_remove(&_minor_idr, m); idr_remove(&_minor_idr, m);
...@@ -993,7 +992,7 @@ static struct block_device_operations dm_blk_dops; ...@@ -993,7 +992,7 @@ static struct block_device_operations dm_blk_dops;
static struct mapped_device *alloc_dev(int minor) static struct mapped_device *alloc_dev(int minor)
{ {
int r; int r;
struct mapped_device *md = kmalloc(sizeof(*md), GFP_KERNEL); struct mapped_device *md = kzalloc(sizeof(*md), GFP_KERNEL);
void *old_md; void *old_md;
if (!md) { if (!md) {
...@@ -1006,13 +1005,12 @@ static struct mapped_device *alloc_dev(int minor) ...@@ -1006,13 +1005,12 @@ static struct mapped_device *alloc_dev(int minor)
/* get a minor number for the dev */ /* get a minor number for the dev */
if (minor == DM_ANY_MINOR) if (minor == DM_ANY_MINOR)
r = next_free_minor(md, &minor); r = next_free_minor(&minor);
else else
r = specific_minor(md, minor); r = specific_minor(minor);
if (r < 0) if (r < 0)
goto bad_minor; goto bad_minor;
memset(md, 0, sizeof(*md));
init_rwsem(&md->io_lock); init_rwsem(&md->io_lock);
mutex_init(&md->suspend_lock); mutex_init(&md->suspend_lock);
spin_lock_init(&md->pushback_lock); spin_lock_init(&md->pushback_lock);
......
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