wrapper for access to ->bd_partno

On the next step it's going to get folded into a field where flags will go.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
Al Viro 2024-04-12 01:01:36 -04:00
parent 3f9b8fb46e
commit b8c873edbf
4 changed files with 14 additions and 9 deletions

View File

@ -78,7 +78,7 @@ static int __init devt_from_partuuid(const char *uuid_str, dev_t *devt)
* to the partition number found by UUID. * to the partition number found by UUID.
*/ */
*devt = part_devt(dev_to_disk(dev), *devt = part_devt(dev_to_disk(dev),
dev_to_bdev(dev)->bd_partno + offset); bdev_partno(dev_to_bdev(dev)) + offset);
} else { } else {
*devt = dev->devt; *devt = dev->devt;
} }

View File

@ -173,7 +173,7 @@ static struct parsed_partitions *check_partition(struct gendisk *hd)
static ssize_t part_partition_show(struct device *dev, static ssize_t part_partition_show(struct device *dev,
struct device_attribute *attr, char *buf) struct device_attribute *attr, char *buf)
{ {
return sprintf(buf, "%d\n", dev_to_bdev(dev)->bd_partno); return sprintf(buf, "%d\n", bdev_partno(dev_to_bdev(dev)));
} }
static ssize_t part_start_show(struct device *dev, static ssize_t part_start_show(struct device *dev,
@ -250,7 +250,7 @@ static int part_uevent(const struct device *dev, struct kobj_uevent_env *env)
{ {
const struct block_device *part = dev_to_bdev(dev); const struct block_device *part = dev_to_bdev(dev);
add_uevent_var(env, "PARTN=%u", part->bd_partno); add_uevent_var(env, "PARTN=%u", bdev_partno(part));
if (part->bd_meta_info && part->bd_meta_info->volname[0]) if (part->bd_meta_info && part->bd_meta_info->volname[0])
add_uevent_var(env, "PARTNAME=%s", part->bd_meta_info->volname); add_uevent_var(env, "PARTNAME=%s", part->bd_meta_info->volname);
return 0; return 0;
@ -267,7 +267,7 @@ void drop_partition(struct block_device *part)
{ {
lockdep_assert_held(&part->bd_disk->open_mutex); lockdep_assert_held(&part->bd_disk->open_mutex);
xa_erase(&part->bd_disk->part_tbl, part->bd_partno); xa_erase(&part->bd_disk->part_tbl, bdev_partno(part));
kobject_put(part->bd_holder_dir); kobject_put(part->bd_holder_dir);
device_del(&part->bd_device); device_del(&part->bd_device);
@ -338,8 +338,8 @@ static struct block_device *add_partition(struct gendisk *disk, int partno,
pdev->parent = ddev; pdev->parent = ddev;
/* in consecutive minor range? */ /* in consecutive minor range? */
if (bdev->bd_partno < disk->minors) { if (bdev_partno(bdev) < disk->minors) {
devt = MKDEV(disk->major, disk->first_minor + bdev->bd_partno); devt = MKDEV(disk->major, disk->first_minor + bdev_partno(bdev));
} else { } else {
err = blk_alloc_ext_minor(); err = blk_alloc_ext_minor();
if (err < 0) if (err < 0)
@ -404,7 +404,7 @@ static bool partition_overlaps(struct gendisk *disk, sector_t start,
rcu_read_lock(); rcu_read_lock();
xa_for_each_start(&disk->part_tbl, idx, part, 1) { xa_for_each_start(&disk->part_tbl, idx, part, 1) {
if (part->bd_partno != skip_partno && if (bdev_partno(part) != skip_partno &&
start < part->bd_start_sect + bdev_nr_sectors(part) && start < part->bd_start_sect + bdev_nr_sectors(part) &&
start + length > part->bd_start_sect) { start + length > part->bd_start_sect) {
overlap = true; overlap = true;

View File

@ -720,6 +720,11 @@ void invalidate_disk(struct gendisk *disk);
void set_disk_ro(struct gendisk *disk, bool read_only); void set_disk_ro(struct gendisk *disk, bool read_only);
void disk_uevent(struct gendisk *disk, enum kobject_action action); void disk_uevent(struct gendisk *disk, enum kobject_action action);
static inline u8 bdev_partno(const struct block_device *bdev)
{
return bdev->bd_partno;
}
static inline int get_disk_ro(struct gendisk *disk) static inline int get_disk_ro(struct gendisk *disk)
{ {
return disk->part0->bd_read_only || return disk->part0->bd_read_only ||
@ -1095,7 +1100,7 @@ static inline int sb_issue_zeroout(struct super_block *sb, sector_t block,
static inline bool bdev_is_partition(struct block_device *bdev) static inline bool bdev_is_partition(struct block_device *bdev)
{ {
return bdev->bd_partno; return bdev_partno(bdev) != 0;
} }
enum blk_default_limits { enum blk_default_limits {

View File

@ -972,7 +972,7 @@ char *bdev_name(char *buf, char *end, struct block_device *bdev,
*buf = 'p'; *buf = 'p';
buf++; buf++;
} }
buf = number(buf, end, bdev->bd_partno, spec); buf = number(buf, end, bdev_partno(bdev), spec);
} }
return buf; return buf;
} }