From patchwork Tue Mar 1 18:06:11 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chuck Lever X-Patchwork-Id: 8468141 Return-Path: X-Original-To: patchwork-linux-rdma@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork1.web.kernel.org (Postfix) with ESMTP id E8E069F2F0 for ; Tue, 1 Mar 2016 18:06:17 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id DB1B120304 for ; Tue, 1 Mar 2016 18:06:16 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 05669202FF for ; Tue, 1 Mar 2016 18:06:15 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751403AbcCASGO (ORCPT ); Tue, 1 Mar 2016 13:06:14 -0500 Received: from mail-pf0-f196.google.com ([209.85.192.196]:35078 "EHLO mail-pf0-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751292AbcCASGN (ORCPT ); Tue, 1 Mar 2016 13:06:13 -0500 Received: by mail-pf0-f196.google.com with SMTP id w128so11325945pfb.2; Tue, 01 Mar 2016 10:06:12 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:subject:from:to:cc:date:message-id:in-reply-to:references :user-agent:mime-version:content-transfer-encoding; bh=pLaVUgG/BcrfMx73lhKnbnlhCLRWg2HKGDZP/2HnJ4Y=; b=h3D68An/swB/yLyWzvmhc/ZEn/XCl43G3ufyJ2bW+DYuvyqKB97I3ho4xztmaqJz50 IJEyX4roHV6TwxRt240PJpzg4mFr2x6zetPZvTQWbaSLwXiNf+YoJfN+YSxeYaMgFXFL QzdMBs3iYhWvcZ2KXqs9prlTMQhX8FAgmEFdQ5io7XdcFwsuNIHEo6bfYti0DSg/KlM1 utIPHb+CXLuwh0V5N8PjuBzWIA9XA01+++XE+Ka/jUULs+SjFutrosF8xTe9xhF8+9VY ZktDIhrgQC6F82ocD7S2n6JghUpfidrmcjvSlwRR44riMBvRnFyFMhn5sUqDKvG88bz4 TGKg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:sender:subject:from:to:cc:date:message-id :in-reply-to:references:user-agent:mime-version :content-transfer-encoding; bh=pLaVUgG/BcrfMx73lhKnbnlhCLRWg2HKGDZP/2HnJ4Y=; b=AtaVsM3V7If1GrlaxOcU9B4O8GOBp4+dQyl6HOLoR2zCPMI50ToKPZBIrIdaslSfGz yMW7hW250wEssbGTSHRT9K6dVCohKxpJ0Xxe2QbzOUrQwXOlVhiSlF/7esNqff6inkpS JbAdy7yyKAFm+1KwH+72MgU788JJQAVGmla4T+dJPb8L4SMIuD193dxd4PWqDXqtl1+u xLwdvsRdngMXqhaE+gGt2+WSVkUIzuz9vYKYoFm0mObfEnBIGRfLY90Xz8RsZ713aAi4 hSzFM4CgySCfg9SA2E9yZWIjnSOr3V8KJ7YWIVHumnde4iWgJHwmOHv69c5BpWKS6wmF ZaQQ== X-Gm-Message-State: AD7BkJIIcegpbAQZqxX26GY1e9Stae1w1gWmMxserJPXDTyGagMSRUUt8VEJqFQkLuJcMg== X-Received: by 10.98.16.150 with SMTP id 22mr32081781pfq.128.1456855572165; Tue, 01 Mar 2016 10:06:12 -0800 (PST) Received: from klimt.1015granger.net (246.sub-70-213-9.myvzw.com. [70.213.9.246]) by smtp.gmail.com with ESMTPSA id z67sm47068292pfa.71.2016.03.01.10.06.11 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 01 Mar 2016 10:06:11 -0800 (PST) Subject: [PATCH v5 06/14] svcrdma: Close connection when a send error occurs From: Chuck Lever To: bfields@fieldses.org Cc: linux-rdma@vger.kernel.org, linux-nfs@vger.kernel.org Date: Tue, 01 Mar 2016 13:06:11 -0500 Message-ID: <20160301180611.2492.34159.stgit@klimt.1015granger.net> In-Reply-To: <20160301180337.2492.4255.stgit@klimt.1015granger.net> References: <20160301180337.2492.4255.stgit@klimt.1015granger.net> User-Agent: StGit/0.17.1-dirty MIME-Version: 1.0 Sender: linux-rdma-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-rdma@vger.kernel.org X-Spam-Status: No, score=-6.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, RCVD_IN_DNSWL_HI,RP_MATCHES_RCVD,T_DKIM_INVALID,UNPARSEABLE_RELAY autolearn=ham version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Signed-off-by: Chuck Lever --- net/sunrpc/xprtrdma/svc_rdma_sendto.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html diff --git a/net/sunrpc/xprtrdma/svc_rdma_sendto.c b/net/sunrpc/xprtrdma/svc_rdma_sendto.c index a8fab99..0f8798d 100644 --- a/net/sunrpc/xprtrdma/svc_rdma_sendto.c +++ b/net/sunrpc/xprtrdma/svc_rdma_sendto.c @@ -314,7 +314,6 @@ static int send_write(struct svcxprt_rdma *xprt, struct svc_rqst *rqstp, err: svc_rdma_unmap_dma(ctxt); svc_rdma_put_context(ctxt, 0); - /* Fatal error, close transport */ return -EIO; } @@ -571,6 +570,7 @@ static int send_reply(struct svcxprt_rdma *rdma, err: svc_rdma_unmap_dma(ctxt); svc_rdma_put_context(ctxt, 1); + pr_err("svcrdma: failed to send reply, rc=%d\n", ret); return -EIO; } @@ -642,6 +642,9 @@ int svc_rdma_sendto(struct svc_rqst *rqstp) ret = send_reply(rdma, rqstp, res_page, rdma_resp, ctxt, vec, inline_bytes); + if (ret < 0) + goto err1; + svc_rdma_put_req_map(rdma, vec); dprintk("svcrdma: send_reply returns %d\n", ret); return ret; @@ -651,5 +654,6 @@ int svc_rdma_sendto(struct svc_rqst *rqstp) err0: svc_rdma_put_req_map(rdma, vec); svc_rdma_put_context(ctxt, 0); - return ret; + set_bit(XPT_CLOSE, &rdma->sc_xprt.xpt_flags); + return -ENOTCONN; }