|
@@ -592,6 +592,7 @@ struct request_queue {
|
|
|
|
|
|
struct queue_limits limits;
|
|
|
|
|
|
+#ifdef CONFIG_BLK_DEV_ZONED
|
|
|
/*
|
|
|
* Zoned block device information for request dispatch control.
|
|
|
* nr_zones is the total number of zones of the device. This is always
|
|
@@ -612,6 +613,7 @@ struct request_queue {
|
|
|
unsigned int nr_zones;
|
|
|
unsigned long *seq_zones_bitmap;
|
|
|
unsigned long *seq_zones_wlock;
|
|
|
+#endif /* CONFIG_BLK_DEV_ZONED */
|
|
|
|
|
|
/*
|
|
|
* sg stuff
|
|
@@ -800,6 +802,7 @@ static inline unsigned int blk_queue_zone_sectors(struct request_queue *q)
|
|
|
return blk_queue_is_zoned(q) ? q->limits.chunk_sectors : 0;
|
|
|
}
|
|
|
|
|
|
+#ifdef CONFIG_BLK_DEV_ZONED
|
|
|
static inline unsigned int blk_queue_zone_no(struct request_queue *q,
|
|
|
sector_t sector)
|
|
|
{
|
|
@@ -815,6 +818,7 @@ static inline bool blk_queue_zone_is_seq(struct request_queue *q,
|
|
|
return false;
|
|
|
return test_bit(blk_queue_zone_no(q, sector), q->seq_zones_bitmap);
|
|
|
}
|
|
|
+#endif /* CONFIG_BLK_DEV_ZONED */
|
|
|
|
|
|
static inline bool rq_is_sync(struct request *rq)
|
|
|
{
|
|
@@ -1065,6 +1069,7 @@ static inline unsigned int blk_rq_cur_sectors(const struct request *rq)
|
|
|
return blk_rq_cur_bytes(rq) >> SECTOR_SHIFT;
|
|
|
}
|
|
|
|
|
|
+#ifdef CONFIG_BLK_DEV_ZONED
|
|
|
static inline unsigned int blk_rq_zone_no(struct request *rq)
|
|
|
{
|
|
|
return blk_queue_zone_no(rq->q, blk_rq_pos(rq));
|
|
@@ -1074,6 +1079,7 @@ static inline unsigned int blk_rq_zone_is_seq(struct request *rq)
|
|
|
{
|
|
|
return blk_queue_zone_is_seq(rq->q, blk_rq_pos(rq));
|
|
|
}
|
|
|
+#endif /* CONFIG_BLK_DEV_ZONED */
|
|
|
|
|
|
/*
|
|
|
* Some commands like WRITE SAME have a payload or data transfer size which
|