Re: linux-next: manual merge of the block tree with the rdma tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi all,

On Thu, 26 Jul 2018 13:58:04 +1000 Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> 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: pgpxopfjy1ko5.pgp
Description: OpenPGP digital signature


[Index of Archives]     [Linux Kernel]     [Linux USB Development]     [Yosemite News]     [Linux SCSI]

  Powered by Linux