|
|
@@ -278,7 +278,7 @@ struct scm_queue {
|
|
|
spinlock_t lock;
|
|
|
};
|
|
|
|
|
|
-static int scm_blk_request(struct blk_mq_hw_ctx *hctx,
|
|
|
+static blk_status_t scm_blk_request(struct blk_mq_hw_ctx *hctx,
|
|
|
const struct blk_mq_queue_data *qd)
|
|
|
{
|
|
|
struct scm_device *scmdev = hctx->queue->queuedata;
|
|
|
@@ -290,7 +290,7 @@ static int scm_blk_request(struct blk_mq_hw_ctx *hctx,
|
|
|
spin_lock(&sq->lock);
|
|
|
if (!scm_permit_request(bdev, req)) {
|
|
|
spin_unlock(&sq->lock);
|
|
|
- return BLK_MQ_RQ_QUEUE_BUSY;
|
|
|
+ return BLK_STS_RESOURCE;
|
|
|
}
|
|
|
|
|
|
scmrq = sq->scmrq;
|
|
|
@@ -299,7 +299,7 @@ static int scm_blk_request(struct blk_mq_hw_ctx *hctx,
|
|
|
if (!scmrq) {
|
|
|
SCM_LOG(5, "no request");
|
|
|
spin_unlock(&sq->lock);
|
|
|
- return BLK_MQ_RQ_QUEUE_BUSY;
|
|
|
+ return BLK_STS_RESOURCE;
|
|
|
}
|
|
|
scm_request_init(bdev, scmrq);
|
|
|
sq->scmrq = scmrq;
|
|
|
@@ -315,7 +315,7 @@ static int scm_blk_request(struct blk_mq_hw_ctx *hctx,
|
|
|
|
|
|
sq->scmrq = NULL;
|
|
|
spin_unlock(&sq->lock);
|
|
|
- return BLK_MQ_RQ_QUEUE_BUSY;
|
|
|
+ return BLK_STS_RESOURCE;
|
|
|
}
|
|
|
blk_mq_start_request(req);
|
|
|
|
|
|
@@ -324,7 +324,7 @@ static int scm_blk_request(struct blk_mq_hw_ctx *hctx,
|
|
|
sq->scmrq = NULL;
|
|
|
}
|
|
|
spin_unlock(&sq->lock);
|
|
|
- return BLK_MQ_RQ_QUEUE_OK;
|
|
|
+ return BLK_STS_OK;
|
|
|
}
|
|
|
|
|
|
static int scm_blk_init_hctx(struct blk_mq_hw_ctx *hctx, void *data,
|