Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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>

authored by

Tao Ma and committed by
Jens Axboe
23ceb5b7 8af1954d

+6 -4
+6 -3
fs/partitions/check.c
··· 255 255 struct device_attribute *attr, char *buf) 256 256 { 257 257 struct hd_struct *p = dev_to_part(dev); 258 - return sprintf(buf, "%u\n", p->discard_alignment); 258 + struct gendisk *disk = dev_to_disk(dev); 259 + 260 + return sprintf(buf, "%u\n", 261 + (unsigned long long)queue_limit_discard_alignment( 262 + &disk->queue->limits, 263 + p->start_sect)); 259 264 } 260 265 261 266 ssize_t part_stat_show(struct device *dev, ··· 454 449 p->start_sect = start; 455 450 p->alignment_offset = 456 451 queue_limit_alignment_offset(&disk->queue->limits, start); 457 - p->discard_alignment = 458 - queue_limit_discard_alignment(&disk->queue->limits, start); 459 452 p->nr_sects = len; 460 453 p->partno = partno; 461 454 p->policy = get_disk_ro(disk);
-1
include/linux/genhd.h
··· 100 100 sector_t start_sect; 101 101 sector_t nr_sects; 102 102 sector_t alignment_offset; 103 - unsigned int discard_alignment; 104 103 struct device __dev; 105 104 struct kobject *holder_dir; 106 105 int policy, partno;