Re: linux-next: build failure after merge of the block tree

Sebastian Ott
2017-06-19T09:00:33Z

On Thu, 15 Jun 2017, Sebastian Ott wrote:
> On Tue, 13 Jun 2017, Stephen Rothwell wrote:
> > After merging the block tree, today's linux-next build (s390x
> > s390-defconfig) failed like this:
> >
> > drivers/s390/block/scm_blk.c:293:10: error: 'BLK_MQ_RQ_QUEUE_BUSY' undeclared (first use in this function)
> > drivers/s390/block/scm_blk.c:327:9: error: 'BLK_MQ_RQ_QUEUE_OK' undeclared (first use in this function)
> >
> > Caused by commit
> >
> > fc17b6534eb8 ("blk-mq: switch ->queue_rq return value to blk_status_t")
> >
> > interacting with commit
> >
> > 12d907626539 ("s390/scm: convert to blk-mq")
> >
> > from the s390 tree.
> >
> > Is the following the correct merge fixup?
>
> Yes, that looks good!

Ok, we should also adjust the return code to fix this:

drivers/s390/block/scm_blk.c:426:2: warning: initialization from incompatible pointer type [enabled by default]
.queue_rq = scm_blk_request,
^

diff --git a/drivers/s390/block/scm_blk.c b/drivers/s390/block/scm_blk.c
index 2cd6123c8f18..4279685901bf 100644
--- a/drivers/s390/block/scm_blk.c
+++ b/drivers/s390/block/scm_blk.c
@@ -278,8 +278,8 @@ struct scm_queue {
spinlock_t lock;
};

-static int scm_blk_request(struct blk_mq_hw_ctx *hctx,
- const struct blk_mq_queue_data *qd)
+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;
struct scm_blk_dev *bdev = dev_get_drvdata(&scmdev->dev);