block: Introduce blk_rq_is_seq_zoned_write()
[linux-block.git] / block / blk-zoned.c
index 614b575be899ba09b03e0d36c54d79b7d5aca1ed..096b6b47561f83a734aeaf08aa6ee8740e43f27c 100644 (file)
@@ -57,16 +57,10 @@ EXPORT_SYMBOL_GPL(blk_zone_cond_str);
  */
 bool blk_req_needs_zone_write_lock(struct request *rq)
 {
-       if (blk_rq_is_passthrough(rq))
-               return false;
-
        if (!rq->q->disk->seq_zones_wlock)
                return false;
 
-       if (bdev_op_is_zoned_write(rq->q->disk->part0, req_op(rq)))
-               return blk_rq_zone_is_seq(rq);
-
-       return false;
+       return blk_rq_is_seq_zoned_write(rq);
 }
 EXPORT_SYMBOL_GPL(blk_req_needs_zone_write_lock);
 
@@ -334,17 +328,12 @@ int blkdev_report_zones_ioctl(struct block_device *bdev, fmode_t mode,
 {
        void __user *argp = (void __user *)arg;
        struct zone_report_args args;
-       struct request_queue *q;
        struct blk_zone_report rep;
        int ret;
 
        if (!argp)
                return -EINVAL;
 
-       q = bdev_get_queue(bdev);
-       if (!q)
-               return -ENXIO;
-
        if (!bdev_is_zoned(bdev))
                return -ENOTTY;
 
@@ -391,7 +380,6 @@ int blkdev_zone_mgmt_ioctl(struct block_device *bdev, fmode_t mode,
                           unsigned int cmd, unsigned long arg)
 {
        void __user *argp = (void __user *)arg;
-       struct request_queue *q;
        struct blk_zone_range zrange;
        enum req_op op;
        int ret;
@@ -399,10 +387,6 @@ int blkdev_zone_mgmt_ioctl(struct block_device *bdev, fmode_t mode,
        if (!argp)
                return -EINVAL;
 
-       q = bdev_get_queue(bdev);
-       if (!q)
-               return -ENXIO;
-
        if (!bdev_is_zoned(bdev))
                return -ENOTTY;