RQF_NAME(HASHED),
        RQF_NAME(STATS),
        RQF_NAME(SPECIAL_PAYLOAD),
-       RQF_NAME(ZONE_WRITE_LOCKED),
        RQF_NAME(TIMED_OUT),
        RQF_NAME(RESV),
 };
 
 }
 EXPORT_SYMBOL_GPL(blk_zone_cond_str);
 
-/*
- * Return true if a request is a write requests that needs zone write locking.
- */
-bool blk_req_needs_zone_write_lock(struct request *rq)
-{
-       if (!rq->q->disk->seq_zones_wlock)
-               return false;
-
-       return blk_rq_is_seq_zoned_write(rq);
-}
-EXPORT_SYMBOL_GPL(blk_req_needs_zone_write_lock);
-
-bool blk_req_zone_write_trylock(struct request *rq)
-{
-       unsigned int zno = blk_rq_zone_no(rq);
-
-       if (test_and_set_bit(zno, rq->q->disk->seq_zones_wlock))
-               return false;
-
-       WARN_ON_ONCE(rq->rq_flags & RQF_ZONE_WRITE_LOCKED);
-       rq->rq_flags |= RQF_ZONE_WRITE_LOCKED;
-
-       return true;
-}
-EXPORT_SYMBOL_GPL(blk_req_zone_write_trylock);
-
-void __blk_req_zone_write_lock(struct request *rq)
-{
-       if (WARN_ON_ONCE(test_and_set_bit(blk_rq_zone_no(rq),
-                                         rq->q->disk->seq_zones_wlock)))
-               return;
-
-       WARN_ON_ONCE(rq->rq_flags & RQF_ZONE_WRITE_LOCKED);
-       rq->rq_flags |= RQF_ZONE_WRITE_LOCKED;
-}
-EXPORT_SYMBOL_GPL(__blk_req_zone_write_lock);
-
-void __blk_req_zone_write_unlock(struct request *rq)
-{
-       rq->rq_flags &= ~RQF_ZONE_WRITE_LOCKED;
-       if (rq->q->disk->seq_zones_wlock)
-               WARN_ON_ONCE(!test_and_clear_bit(blk_rq_zone_no(rq),
-                                                rq->q->disk->seq_zones_wlock));
-}
-EXPORT_SYMBOL_GPL(__blk_req_zone_write_unlock);
-
 /**
  * bdev_nr_zones - Get number of zones
  * @bdev:      Target device
 
        kfree(disk->conv_zones_bitmap);
        disk->conv_zones_bitmap = NULL;
-       kfree(disk->seq_zones_wlock);
-       disk->seq_zones_wlock = NULL;
-
        disk->zone_capacity = 0;
        disk->nr_zones = 0;
 }
 struct blk_revalidate_zone_args {
        struct gendisk  *disk;
        unsigned long   *conv_zones_bitmap;
-       unsigned long   *seq_zones_wlock;
        unsigned int    nr_zones;
        unsigned int    zone_capacity;
        sector_t        sector;
 
        disk->nr_zones = args->nr_zones;
        disk->zone_capacity = args->zone_capacity;
-       swap(disk->seq_zones_wlock, args->seq_zones_wlock);
        swap(disk->conv_zones_bitmap, args->conv_zones_bitmap);
 
        /*
                set_bit(idx, args->conv_zones_bitmap);
                break;
        case BLK_ZONE_TYPE_SEQWRITE_REQ:
-               if (!args->seq_zones_wlock) {
-                       args->seq_zones_wlock =
-                               blk_alloc_zone_bitmap(q->node, args->nr_zones);
-                       if (!args->seq_zones_wlock)
-                               return -ENOMEM;
-               }
-
                /*
                 * Remember the capacity of the first sequential zone and check
                 * if it is constant for all zones.
 }
 
 /**
- * blk_revalidate_disk_zones - (re)allocate and initialize zone bitmaps
+ * blk_revalidate_disk_zones - (re)allocate and initialize zone write plugs
  * @disk:      Target disk
  *
  * Helper function for low-level device drivers to check, (re) allocate and
        }
 
        /*
-        * Install the new bitmaps and update nr_zones only once the queue is
-        * stopped and all I/Os are completed (i.e. a scheduler is not
-        * referencing the bitmaps).
+        * Set the new disk zone parameters only once the queue is frozen and
+        * all I/Os are completed.
         */
        blk_mq_freeze_queue(q);
        if (ret > 0)
                disk_free_zone_resources(disk);
        blk_mq_unfreeze_queue(q);
 
-       kfree(args.seq_zones_wlock);
        kfree(args.conv_zones_bitmap);
 
        return ret;
 
 /* Look at ->special_vec for the actual data payload instead of the
    bio chain. */
 #define RQF_SPECIAL_PAYLOAD    ((__force req_flags_t)(1 << 18))
-/* The per-zone write lock is held for this request */
-#define RQF_ZONE_WRITE_LOCKED  ((__force req_flags_t)(1 << 19))
 /* The request completion needs to be signaled to zone write pluging. */
 #define RQF_ZONE_WRITE_PLUGGING        ((__force req_flags_t)(1 << 20))
 /* ->timeout has been called, don't expire again */
 }
 void blk_dump_rq_flags(struct request *, char *);
 
-#ifdef CONFIG_BLK_DEV_ZONED
-static inline unsigned int blk_rq_zone_no(struct request *rq)
-{
-       return disk_zone_no(rq->q->disk, blk_rq_pos(rq));
-}
-
-static inline unsigned int blk_rq_zone_is_seq(struct request *rq)
-{
-       return disk_zone_is_seq(rq->q->disk, blk_rq_pos(rq));
-}
-
-/**
- * blk_rq_is_seq_zoned_write() - Check if @rq requires write serialization.
- * @rq: Request to examine.
- *
- * Note: REQ_OP_ZONE_APPEND requests do not require serialization.
- */
-static inline bool blk_rq_is_seq_zoned_write(struct request *rq)
-{
-       return op_needs_zoned_write_locking(req_op(rq)) &&
-               blk_rq_zone_is_seq(rq);
-}
-
-bool blk_req_needs_zone_write_lock(struct request *rq);
-bool blk_req_zone_write_trylock(struct request *rq);
-void __blk_req_zone_write_lock(struct request *rq);
-void __blk_req_zone_write_unlock(struct request *rq);
-
-static inline void blk_req_zone_write_lock(struct request *rq)
-{
-       if (blk_req_needs_zone_write_lock(rq))
-               __blk_req_zone_write_lock(rq);
-}
-
-static inline void blk_req_zone_write_unlock(struct request *rq)
-{
-       if (rq->rq_flags & RQF_ZONE_WRITE_LOCKED)
-               __blk_req_zone_write_unlock(rq);
-}
-
-static inline bool blk_req_zone_is_write_locked(struct request *rq)
-{
-       return rq->q->disk->seq_zones_wlock &&
-               test_bit(blk_rq_zone_no(rq), rq->q->disk->seq_zones_wlock);
-}
-
-static inline bool blk_req_can_dispatch_to_zone(struct request *rq)
-{
-       if (!blk_req_needs_zone_write_lock(rq))
-               return true;
-       return !blk_req_zone_is_write_locked(rq);
-}
-#else /* CONFIG_BLK_DEV_ZONED */
-static inline bool blk_rq_is_seq_zoned_write(struct request *rq)
-{
-       return false;
-}
-
-static inline bool blk_req_needs_zone_write_lock(struct request *rq)
-{
-       return false;
-}
-
-static inline void blk_req_zone_write_lock(struct request *rq)
-{
-}
-
-static inline void blk_req_zone_write_unlock(struct request *rq)
-{
-}
-static inline bool blk_req_zone_is_write_locked(struct request *rq)
-{
-       return false;
-}
-
-static inline bool blk_req_can_dispatch_to_zone(struct request *rq)
-{
-       return true;
-}
-#endif /* CONFIG_BLK_DEV_ZONED */
-
 #endif /* BLK_MQ_H */
 
        BIO_QOS_THROTTLED,      /* bio went through rq_qos throttle path */
        BIO_QOS_MERGED,         /* but went through rq_qos merge path */
        BIO_REMAPPED,
-       BIO_ZONE_WRITE_LOCKED,  /* Owns a zoned device zone write lock */
        BIO_ZONE_WRITE_PLUGGING, /* bio handled through zone write plugging */
        BIO_EMULATES_ZONE_APPEND, /* bio emulates a zone append operation */
        BIO_FLAG_LAST
 
 
 #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
-        * 0 for regular block devices. conv_zones_bitmap is a bitmap of nr_zones
-        * bits which indicates if a zone is conventional (bit set) or
-        * sequential (bit clear). seq_zones_wlock is a bitmap of nr_zones
-        * bits which indicates if a zone is write locked, that is, if a write
-        * request targeting the zone was dispatched.
-        *
-        * Reads of this information must be protected with blk_queue_enter() /
-        * blk_queue_exit(). Modifying this information is only allowed while
-        * no requests are being processed. See also blk_mq_freeze_queue() and
-        * blk_mq_unfreeze_queue().
+        * Zoned block device information. Reads of this information must be
+        * protected with blk_queue_enter() / blk_queue_exit(). Modifying this
+        * information is only allowed while no requests are being processed.
+        * See also blk_mq_freeze_queue() and blk_mq_unfreeze_queue().
         */
        unsigned int            nr_zones;
        unsigned int            zone_capacity;
        unsigned long           *conv_zones_bitmap;
-       unsigned long           *seq_zones_wlock;
        unsigned int            zone_wplugs_hash_bits;
        spinlock_t              zone_wplugs_lock;
        struct mempool_s        *zone_wplugs_pool;
        return sector >> ilog2(disk->queue->limits.chunk_sectors);
 }
 
-static inline bool disk_zone_is_seq(struct gendisk *disk, sector_t sector)
-{
-       if (!blk_queue_is_zoned(disk->queue))
-               return false;
-       if (!disk->conv_zones_bitmap)
-               return true;
-       return !test_bit(disk_zone_no(disk, sector), disk->conv_zones_bitmap);
-}
-
 static inline void disk_set_max_open_zones(struct gendisk *disk,
                unsigned int max_open_zones)
 {
 {
        return 0;
 }
-static inline bool disk_zone_is_seq(struct gendisk *disk, sector_t sector)
-{
-       return false;
-}
 static inline unsigned int disk_zone_no(struct gendisk *disk, sector_t sector)
 {
        return 0;
                disk_zone_no(bio->bi_bdev->bd_disk, bio_end_sector(bio) - 1);
 }
 
-static inline unsigned int bio_zone_is_seq(struct bio *bio)
-{
-       return disk_zone_is_seq(bio->bi_bdev->bd_disk, bio->bi_iter.bi_sector);
-}
-
 /*
  * Return how much of the chunk is left to be used for I/O at a given offset.
  */