From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id DC06ECCA473 for ; Wed, 6 Jul 2022 15:36:08 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234153AbiGFPgH (ORCPT ); Wed, 6 Jul 2022 11:36:07 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44380 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234238AbiGFPfb (ORCPT ); Wed, 6 Jul 2022 11:35:31 -0400 Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6D2222A70C; Wed, 6 Jul 2022 08:33:15 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ams.source.kernel.org (Postfix) with ESMTPS id 78724B81D98; Wed, 6 Jul 2022 15:33:13 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 604F1C385A2; Wed, 6 Jul 2022 15:33:11 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1657121592; bh=/PBo5aChT/HITL0n8XQjCAQovVMDJHQ5AmS2ELAt8oo=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=U/nmFYmn/KTwgG+VLroPzHYn5HYrFKTZoR/qj/CaZoWXqDwYRwnDlEUodUsKPcijE XtL/64AMa2vAxdL+wMrsVoAE2KwvNnp0Z4g0mWnvp/5D3SFok9PWJ9E9nG+Mf5CqDH jDhYCAqrwYGfTLEn475mOhpqA6bkWRL0JfkhtR4lK0oXru1qmyFQEw6JcJctG/dcf1 hzRxNZ5xwR8ThcKVLqJ/ZeHqPb+Fo0XEf0tXcMlIHEQXMgV7BAr+XMy850M/LL2nfH /ZaInOrukde1IAnn91r+YWQ9FhTKdjB6gq3kndHUdg1IVl5R0d6BGTbz1FDIv8utjn qy3YBKjQ7iNOA== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Sagi Grimberg , Daniel Wagner , Christoph Hellwig , Sasha Levin , kbusch@kernel.org, axboe@fb.com, linux-nvme@lists.infradead.org Subject: [PATCH AUTOSEL 5.10 09/11] nvme-tcp: always fail a request when sending it failed Date: Wed, 6 Jul 2022 11:32:54 -0400 Message-Id: <20220706153256.1598411-9-sashal@kernel.org> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220706153256.1598411-1-sashal@kernel.org> References: <20220706153256.1598411-1-sashal@kernel.org> MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Sagi Grimberg [ Upstream commit 41d07df7de841bfbc32725ce21d933ad358f2844 ] queue stoppage and inflight requests cancellation is fully fenced from io_work and thus failing a request from this context. Hence we don't need to try to guess from the socket retcode if this failure is because the queue is about to be torn down or not. We are perfectly safe to just fail it, the request will not be cancelled later on. This solves possible very long shutdown delays when the users issues a 'nvme disconnect-all' Reported-by: Daniel Wagner Signed-off-by: Sagi Grimberg Signed-off-by: Christoph Hellwig Signed-off-by: Sasha Levin --- drivers/nvme/host/tcp.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/nvme/host/tcp.c b/drivers/nvme/host/tcp.c index 7e3932033707..d5e162f2c23a 100644 --- a/drivers/nvme/host/tcp.c +++ b/drivers/nvme/host/tcp.c @@ -1149,8 +1149,7 @@ static int nvme_tcp_try_send(struct nvme_tcp_queue *queue) } else if (ret < 0) { dev_err(queue->ctrl->ctrl.device, "failed to send request %d\n", ret); - if (ret != -EPIPE && ret != -ECONNRESET) - nvme_tcp_fail_request(queue->request); + nvme_tcp_fail_request(queue->request); nvme_tcp_done_send_req(queue); } return ret; -- 2.35.1