X-Git-Url: http://git.monstr.eu/?a=blobdiff_plain;f=block%2Fblk-zoned.c;h=833978c02e6083fd346784bdce244fe3b7d467c3;hb=ebfe4183c77ed18e1d4237ad3b13f32114d9ae1e;hp=7a68b6e4300cec97b2624d861b7d7cf97a2f1bb6;hpb=71c061d2443814de15e177489d5cc00a4a253ef3;p=linux-2.6-microblaze.git diff --git a/block/blk-zoned.c b/block/blk-zoned.c index 7a68b6e4300c..833978c02e60 100644 --- a/block/blk-zoned.c +++ b/block/blk-zoned.c @@ -549,3 +549,20 @@ int blk_revalidate_disk_zones(struct gendisk *disk, return ret; } EXPORT_SYMBOL_GPL(blk_revalidate_disk_zones); + +void blk_queue_clear_zone_settings(struct request_queue *q) +{ + blk_mq_freeze_queue(q); + + blk_queue_free_zone_bitmaps(q); + blk_queue_flag_clear(QUEUE_FLAG_ZONE_RESETALL, q); + q->required_elevator_features &= ~ELEVATOR_F_ZBD_SEQ_WRITE; + q->nr_zones = 0; + q->max_open_zones = 0; + q->max_active_zones = 0; + q->limits.chunk_sectors = 0; + q->limits.zone_write_granularity = 0; + q->limits.max_zone_append_sectors = 0; + + blk_mq_unfreeze_queue(q); +}