Commit 7cf34d97 authored by Christoph Hellwig's avatar Christoph Hellwig Committed by Jens Axboe
Browse files

block: remove the discard_alignment field from struct hd_struct



The alignment offset is only used in slow path callers, so just calculate
it on the fly.

Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent 7b8917f5
Loading
Loading
Loading
Loading
+4 −3
Original line number Diff line number Diff line
@@ -209,7 +209,10 @@ static ssize_t part_discard_alignment_show(struct device *dev,
					   struct device_attribute *attr, char *buf)
{
	struct hd_struct *p = dev_to_part(dev);
	return sprintf(buf, "%u\n", p->discard_alignment);

	return sprintf(buf, "%u\n",
		queue_limit_discard_alignment(&part_to_disk(p)->queue->limits,
				p->start_sect));
}

static DEVICE_ATTR(partition, 0444, part_partition_show, NULL);
@@ -408,8 +411,6 @@ static struct hd_struct *add_partition(struct gendisk *disk, int partno,
	pdev = part_to_dev(p);

	p->start_sect = start;
	p->discard_alignment =
		queue_limit_discard_alignment(&disk->queue->limits, start);
	p->nr_sects = len;
	p->partno = partno;
	p->policy = get_disk_ro(disk);
+2 −2
Original line number Diff line number Diff line
@@ -1498,8 +1498,8 @@ static inline int bdev_discard_alignment(struct block_device *bdev)
	struct request_queue *q = bdev_get_queue(bdev);

	if (bdev != bdev->bd_contains)
		return bdev->bd_part->discard_alignment;

		return queue_limit_discard_alignment(&q->limits,
				bdev->bd_part->start_sect);
	return q->limits.discard_alignment;
}

+0 −1
Original line number Diff line number Diff line
@@ -65,7 +65,6 @@ struct hd_struct {
	struct disk_stats __percpu *dkstats;
	struct percpu_ref ref;

	unsigned int discard_alignment;
	struct device __dev;
	struct kobject *holder_dir;
	int policy, partno;