block: Remove extra discard_alignment from hd_struct.

Currently, hd_struct.discard_alignment is only used when we
show /sys/block/sdx/sdx/discard_alignment. So remove it and
calculate when it is asked to show.

Signed-off-by: Tao Ma <boyu.mt@taobao.com>
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
This commit is contained in:
Tao Ma 2011-05-06 19:30:02 -06:00 committed by Jens Axboe
parent 8af1954d17
commit 23ceb5b771
2 changed files with 6 additions and 4 deletions

View file

@ -255,7 +255,12 @@ 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);
struct gendisk *disk = dev_to_disk(dev);
return sprintf(buf, "%u\n",
(unsigned long long)queue_limit_discard_alignment(
&disk->queue->limits,
p->start_sect));
}
ssize_t part_stat_show(struct device *dev,
@ -449,8 +454,6 @@ struct hd_struct *add_partition(struct gendisk *disk, int partno,
p->start_sect = start;
p->alignment_offset =
queue_limit_alignment_offset(&disk->queue->limits, 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);

View file

@ -100,7 +100,6 @@ struct hd_struct {
sector_t start_sect;
sector_t nr_sects;
sector_t alignment_offset;
unsigned int discard_alignment;
struct device __dev;
struct kobject *holder_dir;
int policy, partno;