aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/blkdev.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/blkdev.h')
-rw-r--r--include/linux/blkdev.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h
index e727f6c44c44..784a919aa0d0 100644
--- a/include/linux/blkdev.h
+++ b/include/linux/blkdev.h
@@ -322,6 +322,7 @@ struct queue_limits {
322 unsigned char misaligned; 322 unsigned char misaligned;
323 unsigned char discard_misaligned; 323 unsigned char discard_misaligned;
324 unsigned char no_cluster; 324 unsigned char no_cluster;
325 signed char discard_zeroes_data;
325}; 326};
326 327
327struct request_queue 328struct request_queue
@@ -1150,6 +1151,19 @@ static inline int queue_sector_discard_alignment(struct request_queue *q,
1150 & (q->limits.discard_granularity - 1); 1151 & (q->limits.discard_granularity - 1);
1151} 1152}
1152 1153
1154static inline unsigned int queue_discard_zeroes_data(struct request_queue *q)
1155{
1156 if (q->limits.discard_zeroes_data == 1)
1157 return 1;
1158
1159 return 0;
1160}
1161
1162static inline unsigned int bdev_discard_zeroes_data(struct block_device *bdev)
1163{
1164 return queue_discard_zeroes_data(bdev_get_queue(bdev));
1165}
1166
1153static inline int queue_dma_alignment(struct request_queue *q) 1167static inline int queue_dma_alignment(struct request_queue *q)
1154{ 1168{
1155 return q ? q->dma_alignment : 511; 1169 return q ? q->dma_alignment : 511;