Hello!
On 17.09.2020 19:57, Christoph Hellwig wrote:
Use blkdev_get_by_dev instead of open coding it using bdget_disk +
blkdev_get.
I don't see where you are removing bdget_disk() call (situated just before
the below code?)...
Signed-off-by: Christoph Hellwig <hch@xxxxxx>
---
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 */
MBR, Sergei