diff options
author | Christoph Hellwig <hch@lst.de> | 2017-11-02 21:29:52 +0300 |
---|---|---|
committer | Jason Liu <jason.hui.liu@nxp.com> | 2019-02-12 10:33:25 +0800 |
commit | bece506fe73817b65143e2ef0a13451360bbd4ab (patch) | |
tree | 6e6ae30076e68f1fdfd0b8d777d8f1cffa2973e8 | |
parent | c21c8b24ef14c66c2764134eb6822bbc884048b7 (diff) |
block: don't look at the struct device dev_t in disk_devt
The hidden gendisks introduced in the next patch need to keep the dev
field in their struct device empty so that udev won't try to create
block device nodes for them. To support that rewrite disk_devt to
look at the major and first_minor fields in the gendisk itself instead
of looking into the struct device.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de>
Reviewed-by: Hannes Reinecke <hare@suse.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
(cherry picked from commit 517bf3c306bad4fe0da631f90ae2ec40924dee2b)
-rw-r--r-- | block/genhd.c | 4 | ||||
-rw-r--r-- | include/linux/genhd.h | 2 |
2 files changed, 1 insertions, 5 deletions
diff --git a/block/genhd.c b/block/genhd.c index 449ef56bba70..69c50d457d3f 100644 --- a/block/genhd.c +++ b/block/genhd.c @@ -661,10 +661,6 @@ void device_add_disk(struct device *parent, struct gendisk *disk) return; } disk_to_dev(disk)->devt = devt; - - /* ->major and ->first_minor aren't supposed to be - * dereferenced from here on, but set them just in case. - */ disk->major = MAJOR(devt); disk->first_minor = MINOR(devt); diff --git a/include/linux/genhd.h b/include/linux/genhd.h index 550fa358893a..2e10e356ba8b 100644 --- a/include/linux/genhd.h +++ b/include/linux/genhd.h @@ -235,7 +235,7 @@ static inline bool disk_part_scan_enabled(struct gendisk *disk) static inline dev_t disk_devt(struct gendisk *disk) { - return disk_to_dev(disk)->devt; + return MKDEV(disk->major, disk->first_minor); } static inline dev_t part_devt(struct hd_struct *part) |