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