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
					
				
			
		
					 1 changed files with 6 additions and 8 deletions
				
			
		| 
						 | 
					@ -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…
	
	Add table
		Add a link
		
	
		Reference in a new issue