On Tue, 4 Jul 2017 17:58:18 +1000
Stephen Rothwell <s...@canb.auug.org.au> wrote:

> Hi Linus,
> 
> On Mon, 3 Jul 2017 15:46:00 -0700 Linus Torvalds 
> <torva...@linux-foundation.org> wrote:
> >
> > On Mon, Jul 3, 2017 at 2:01 AM, Martin Schwidefsky
> > <schwidef...@de.ibm.com> wrote:  
> > >
> > > please pull from the 'for-linus' branch of
> > >
> > >         git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux.git 
> > > for-linus    
> > 
> > So my conflict resolution looks different from the one Stephen posted,
> > which may be due to various reasons, ranging from "linux-next has
> > other things that conflict" to just "I didn't notice some semantic
> > conflict since unlike linux-next I don't build for s390".
> > 
> > Regardless, you should check my current -git tree just to verify, and
> > send me a patch if I screwed something up.  
> 
> At least part of the difference is the following merge fix patch I have
> been carrying.  It is needed due to a build failure.
> 
> From: Stephen Rothwell <s...@canb.auug.org.au>
> Date: Tue, 13 Jun 2017 20:51:32 +1000
> Subject: [PATCH] s390: fix up for "blk-mq: switch ->queue_rq return value to
>  blk_status_t"
> 
> Signed-off-by: Stephen Rothwell <s...@canb.auug.org.au>
> ---
>  drivers/s390/block/scm_blk.c | 10 +++++-----
>  1 file changed, 5 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/s390/block/scm_blk.c b/drivers/s390/block/scm_blk.c
> index 42018a20f2b7..0071febac9e6 100644
> --- a/drivers/s390/block/scm_blk.c
> +++ b/drivers/s390/block/scm_blk.c
> @@ -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,

This is the same patch I came up with to get it to compile. I asked
Sebastian to verify that the driver actually works with these changes.


-- 
blue skies,
   Martin.

"Reality continues to ruin my life." - Calvin.

Reply via email to