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: Frederik Deweerdt <frederik.deweerdt@gmail.com> Signed-off-by: Alasdair G Kergon <agk@redhat.com>
This commit is contained in:
parent
4fdfe401e9
commit
cf13ab8e02
|
@ -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:
|
||||||
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)
|
||||||
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;
|
||||||
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)
|
||||||
|
|
||||||
/* 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);
|
||||||
|
|
Loading…
Reference in New Issue