Use blkdev_get_by_dev instead of open coding it using bdget_disk +
blkdev_get.

Signed-off-by: Christoph Hellwig <h...@lst.de>
---
 block/genhd.c | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/block/genhd.c b/block/genhd.c
index 7b56203c90a303..f778716fac6cde 100644
--- a/block/genhd.c
+++ b/block/genhd.c
@@ -732,10 +732,9 @@ static void register_disk(struct device *parent, struct 
gendisk *disk,
                goto exit;
 
        set_bit(GD_NEED_PART_SCAN, &disk->state);
-       err = blkdev_get(bdev, FMODE_READ, NULL);
-       if (err < 0)
-               goto exit;
-       blkdev_put(bdev, FMODE_READ);
+       bdev = blkdev_get_by_dev(disk_devt(disk), FMODE_READ, NULL);
+       if (!IS_ERR(bdev))
+               blkdev_put(bdev, FMODE_READ);
 
 exit:
        /* announce disk after possible partitions are created */
-- 
2.28.0

Reply via email to