md: remove md_mutex locking.
lock_kernel calls were recently pushed down into open/release functions. md doesn't need that protection. Then the BKL calls were change to md_mutex. We don't need those either. So remove it all. Signed-off-by: NeilBrown <neilb@suse.de>
This commit is contained in:
parent
d97a41dc9c
commit
4b532c9b8c
|
@ -57,8 +57,6 @@
|
||||||
#define DEBUG 0
|
#define DEBUG 0
|
||||||
#define dprintk(x...) ((void)(DEBUG && printk(x)))
|
#define dprintk(x...) ((void)(DEBUG && printk(x)))
|
||||||
|
|
||||||
static DEFINE_MUTEX(md_mutex);
|
|
||||||
|
|
||||||
#ifndef MODULE
|
#ifndef MODULE
|
||||||
static void autostart_arrays(int part);
|
static void autostart_arrays(int part);
|
||||||
#endif
|
#endif
|
||||||
|
@ -5887,7 +5885,6 @@ static int md_open(struct block_device *bdev, fmode_t mode)
|
||||||
mddev_t *mddev = mddev_find(bdev->bd_dev);
|
mddev_t *mddev = mddev_find(bdev->bd_dev);
|
||||||
int err;
|
int err;
|
||||||
|
|
||||||
mutex_lock(&md_mutex);
|
|
||||||
if (mddev->gendisk != bdev->bd_disk) {
|
if (mddev->gendisk != bdev->bd_disk) {
|
||||||
/* we are racing with mddev_put which is discarding this
|
/* we are racing with mddev_put which is discarding this
|
||||||
* bd_disk.
|
* bd_disk.
|
||||||
|
@ -5896,7 +5893,6 @@ static int md_open(struct block_device *bdev, fmode_t mode)
|
||||||
/* Wait until bdev->bd_disk is definitely gone */
|
/* Wait until bdev->bd_disk is definitely gone */
|
||||||
flush_scheduled_work();
|
flush_scheduled_work();
|
||||||
/* Then retry the open from the top */
|
/* Then retry the open from the top */
|
||||||
mutex_unlock(&md_mutex);
|
|
||||||
return -ERESTARTSYS;
|
return -ERESTARTSYS;
|
||||||
}
|
}
|
||||||
BUG_ON(mddev != bdev->bd_disk->private_data);
|
BUG_ON(mddev != bdev->bd_disk->private_data);
|
||||||
|
@ -5910,7 +5906,6 @@ static int md_open(struct block_device *bdev, fmode_t mode)
|
||||||
|
|
||||||
check_disk_size_change(mddev->gendisk, bdev);
|
check_disk_size_change(mddev->gendisk, bdev);
|
||||||
out:
|
out:
|
||||||
mutex_unlock(&md_mutex);
|
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -5919,10 +5914,8 @@ static int md_release(struct gendisk *disk, fmode_t mode)
|
||||||
mddev_t *mddev = disk->private_data;
|
mddev_t *mddev = disk->private_data;
|
||||||
|
|
||||||
BUG_ON(!mddev);
|
BUG_ON(!mddev);
|
||||||
mutex_lock(&md_mutex);
|
|
||||||
atomic_dec(&mddev->openers);
|
atomic_dec(&mddev->openers);
|
||||||
mddev_put(mddev);
|
mddev_put(mddev);
|
||||||
mutex_unlock(&md_mutex);
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
Reference in New Issue