block: move bdput() to the callers of __blkdev_get
This will allow for a more symmetric calling convention going forward. Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Jan Kara <jack@suse.cz> Reviewed-by: Hannes Reinecke <hare@suse.de> Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
Родитель
5b56b6ed57
Коммит
63d9932cae
|
@ -1462,6 +1462,7 @@ static int __blkdev_get(struct block_device *bdev, struct gendisk *disk,
|
|||
if (!(disk->flags & GENHD_FL_UP) ||
|
||||
!bdev->bd_part || !bdev->bd_part->nr_sects) {
|
||||
__blkdev_put(whole, mode, 1);
|
||||
bdput(whole);
|
||||
ret = -ENXIO;
|
||||
goto out_clear;
|
||||
}
|
||||
|
@ -1744,9 +1745,10 @@ static void __blkdev_put(struct block_device *bdev, fmode_t mode, int for_part)
|
|||
disk->fops->release(disk, mode);
|
||||
}
|
||||
mutex_unlock(&bdev->bd_mutex);
|
||||
bdput(bdev);
|
||||
if (victim)
|
||||
if (victim) {
|
||||
__blkdev_put(victim, mode, 1);
|
||||
bdput(victim);
|
||||
}
|
||||
}
|
||||
|
||||
void blkdev_put(struct block_device *bdev, fmode_t mode)
|
||||
|
@ -1796,6 +1798,7 @@ void blkdev_put(struct block_device *bdev, fmode_t mode)
|
|||
mutex_unlock(&bdev->bd_mutex);
|
||||
|
||||
__blkdev_put(bdev, mode, 0);
|
||||
bdput(bdev);
|
||||
put_disk_and_module(disk);
|
||||
}
|
||||
EXPORT_SYMBOL(blkdev_put);
|
||||
|
|
Загрузка…
Ссылка в новой задаче