On Mon, 2017-03-20 at 16:43 -0400, Christoph Hellwig wrote: > diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h > index 5a7da607ca04..3b3bd646f580 100644 > --- a/include/linux/blkdev.h > +++ b/include/linux/blkdev.h > @@ -333,6 +333,7 @@ struct queue_limits { > unsigned short max_segments; > unsigned short max_integrity_segments; > unsigned short max_discard_segments; > + unsigned int max_discard_segment_size; > > unsigned char misaligned; > unsigned char discard_misaligned; > @@ -1150,6 +1151,8 @@ extern void blk_queue_max_segments(struct request_queue *, unsigned short); > extern void blk_queue_max_discard_segments(struct request_queue *, > unsigned short); > extern void blk_queue_max_segment_size(struct request_queue *, unsigned int); > +extern void blk_queue_max_discard_segment_size(struct request_queue *, > + unsigned int); > extern void blk_queue_max_discard_sectors(struct request_queue *q, > unsigned int max_discard_sectors); > extern void blk_queue_max_write_same_sectors(struct request_queue *q, > @@ -1415,6 +1418,11 @@ static inline unsigned int queue_max_segment_size(struct request_queue *q) > return q->limits.max_segment_size; > } > > +static inline unsigned int queue_max_discard_segment_size(struct request_queue *q) > +{ > + return q->limits.max_discard_segment_size; > +} > + > static inline unsigned short queue_logical_block_size(struct request_queue *q) > { > int retval = 512; Hello Christoph, It's probably a good idea to add a comment somewhere that the unit of max_discard_segment_size is one byte. Additionally, should it be mentioned in the commit message that this patch limits the maximum discard segment size to 4 GB? Thanks, Bart.