Hi all,

On Thu, 26 Jul 2018 13:58:04 +1000 Stephen Rothwell <s...@canb.auug.org.au> 
wrote:
>
> Today's linux-next merge of the block tree got a conflict in:
> 
>   drivers/nvme/target/rdma.c
> 
> between commit:
> 
>   23f96d1f15a7 ("nvmet-rdma: Simplify ib_post_(send|recv|srq_recv)() calls")
>   202093848cac ("nvmet-rdma: add an error flow for post_recv failures")
> 
> from the rdma tree and commits:
> 
>   2fc464e2162c ("nvmet-rdma: add unlikely check in the fast path")
> 
> from the block tree.
> 
> I fixed it up (see below) and can carry the fix as necessary. This
> is now fixed as far as linux-next is concerned, but any non trivial
> conflicts should be mentioned to your upstream maintainer when your tree
> is submitted for merging.  You may also want to consider cooperating
> with the maintainer of the conflicting tree to minimise any particularly
> complex conflicts.
> 
> -- 
> Cheers,
> Stephen Rothwell
> 
> diff --cc drivers/nvme/target/rdma.c
> index 1a642e214a4c,e7f43d1e1779..000000000000
> --- a/drivers/nvme/target/rdma.c
> +++ b/drivers/nvme/target/rdma.c
> @@@ -382,13 -435,22 +435,21 @@@ static void nvmet_rdma_free_rsps(struc
>   static int nvmet_rdma_post_recv(struct nvmet_rdma_device *ndev,
>               struct nvmet_rdma_cmd *cmd)
>   {
>  -    struct ib_recv_wr *bad_wr;
> +     int ret;
> + 
>       ib_dma_sync_single_for_device(ndev->device,
>               cmd->sge[0].addr, cmd->sge[0].length,
>               DMA_FROM_DEVICE);
>   
>       if (ndev->srq)
> -             return ib_post_srq_recv(ndev->srq, &cmd->wr, NULL);
> -     return ib_post_recv(cmd->queue->cm_id->qp, &cmd->wr, NULL);
>  -            ret = ib_post_srq_recv(ndev->srq, &cmd->wr, &bad_wr);
> ++            ret = ib_post_srq_recv(ndev->srq, &cmd->wr, NULL);
> +     else
>  -            ret = ib_post_recv(cmd->queue->cm_id->qp, &cmd->wr, &bad_wr);
> ++            ret = ib_post_recv(cmd->queue->cm_id->qp, &cmd->wr, NULL);
> + 
> +     if (unlikely(ret))
> +             pr_err("post_recv cmd failed\n");
> + 
> +     return ret;
>   }
>   
>   static void nvmet_rdma_process_wr_wait_list(struct nvmet_rdma_queue *queue)
> @@@ -491,7 -553,7 +552,7 @@@ static void nvmet_rdma_queue_response(s
>               rsp->send_sge.addr, rsp->send_sge.length,
>               DMA_TO_DEVICE);
>   
> -     if (ib_post_send(cm_id->qp, first_wr, NULL)) {
>  -    if (unlikely(ib_post_send(cm_id->qp, first_wr, &bad_wr))) {
> ++    if (unlikely(ib_post_send(cm_id->qp, first_wr, NULL))) {
>               pr_err("sending cmd response failed\n");
>               nvmet_rdma_release_rsp(rsp);
>       }

This is now a conflict between Linus' tree and the rdma tree.

-- 
Cheers,
Stephen Rothwell

Attachment: pgpIIARNDrEL8.pgp
Description: OpenPGP digital signature

Reply via email to