From patchwork Tue Apr 18 13:01:56 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Daniel Wagner X-Patchwork-Id: 84846 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp2855061vqo; Tue, 18 Apr 2023 06:33:34 -0700 (PDT) X-Google-Smtp-Source: AKy350Zoe4wxFtA78QkuHcMTTV07zTpYMSuI10r77K4cQaOfiArahyZ/GaFma1yV/4T9YEsLSPEp X-Received: by 2002:a17:903:1112:b0:1a2:70ed:6cd9 with SMTP id n18-20020a170903111200b001a270ed6cd9mr2391213plh.22.1681824813965; Tue, 18 Apr 2023 06:33:33 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1681824813; cv=none; d=google.com; s=arc-20160816; b=RkpgODcrmJIsgboSN3SykMXmhrLNJ2njemN/NZG00coUdACczkbOixqfgXGNpygszF LQJh8kAbRWMneylm4tvtXD2uhZGtczDV76ES88A4EO9XfpBZeRUnYUP7yjQRzZHQvvKH dEAT1i/JGjZwfQ98V9QFoY7jY1jluf1bbWc3j4pI0lC5pmjHbUACrvdVQqxPeN9GR9jl cSUns3KquslNahfQHXg2j2axol6c7mp98cEBqLcOKiSKLOeoGqDz6ewPOz0k5vDr2zGk n9rM06gQk6gpBe1++PbYwE172Diz7UP1+Nbk/JbbhRTJbwTCtqTEaxppRjcFM2kHSdz6 EHRw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature:dkim-signature; bh=xHvZovTrRuZrCOEGfusLwQUaUkaDOrzb+7eR8e2Rvs8=; b=GwOR+d3b4yv+mV0iLng60hmAd6mC9mmiiaIiWUi0os8DkNU1X/65gawE8ox3dS+SO5 hoSinEKm/Q2t5RzpnutqT19aZ3oJ6PgNIZZhGsZK7azY4+zKP9bZWbjnnKKLQ/CCbPqE qlTc35bp1yP2G03kdwMxK7tmvyCmpZLZ9VfjLy+lYpahFmN0RqTt1VhVIGd/3IXlzi+v tyVOzJqKgvAginVWfDhqvR8SqGmvqFirZLYHM5VwoEZa4mI3Zsm9Og903rij1hLqtzCM Luh2/2xlhbgZPCYfKJUB5uP1szxe3mrzLe7R56VMKQufnvDIukDA39L0RsoZErepv5Mr hA9w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@suse.de header.s=susede2_rsa header.b="Pth/OjEI"; dkim=neutral (no key) header.i=@suse.de; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=suse.de Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id d12-20020a170902b70c00b001a0442e0038si14004180pls.414.2023.04.18.06.33.17; Tue, 18 Apr 2023 06:33:33 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@suse.de header.s=susede2_rsa header.b="Pth/OjEI"; dkim=neutral (no key) header.i=@suse.de; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=suse.de Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232333AbjDRNCZ (ORCPT + 99 others); Tue, 18 Apr 2023 09:02:25 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56230 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232318AbjDRNCV (ORCPT ); Tue, 18 Apr 2023 09:02:21 -0400 Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D1AE24492; Tue, 18 Apr 2023 06:02:11 -0700 (PDT) Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by smtp-out1.suse.de (Postfix) with ESMTPS id 6FA4921986; Tue, 18 Apr 2023 13:02:10 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1681822930; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=xHvZovTrRuZrCOEGfusLwQUaUkaDOrzb+7eR8e2Rvs8=; b=Pth/OjEIF+iAJtaKL48n4fYL7h2eaUVtFj+NqwQjQABxLdzHi4AMN84J4k1Ucqv+7QPnJ1 KiZjqvyrCW9vTEjkytguqTtifeMvKCkMXTzfWwAfz9daooI29T84piBkqb98osw6U69AMr hnU+VGdJ/nxJoDihIPExvvQ/m1uGHbc= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1681822930; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=xHvZovTrRuZrCOEGfusLwQUaUkaDOrzb+7eR8e2Rvs8=; b=+t33Z/TwSQlmtp9hskJC+ufgtV99df5LInSy+WaZ7NPA+LBpG13Y3GcfrfXUKOC2Moh7UM amIqVMbPnzMBSxDg== Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 5EEBB139CC; Tue, 18 Apr 2023 13:02:10 +0000 (UTC) Received: from dovecot-director2.suse.de ([192.168.254.65]) by imap2.suse-dmz.suse.de with ESMTPSA id ATI7F9KUPmSEJwAAMHmgww (envelope-from ); Tue, 18 Apr 2023 13:02:10 +0000 From: Daniel Wagner To: linux-nvme@lists.infradead.org Cc: linux-kernel@vger.kernel.org, linux-block@vger.kernel.org, Sagi Grimberg , James Smart , Chaitanya Kulkarni , Martin Belanger , Shinichiro Kawasaki , Daniel Wagner Subject: [PATCH v3 1/4] nvmet-fcloop: Remove remote port from list when unlinking Date: Tue, 18 Apr 2023 15:01:56 +0200 Message-Id: <20230418130159.11075-2-dwagner@suse.de> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230418130159.11075-1-dwagner@suse.de> References: <20230418130159.11075-1-dwagner@suse.de> MIME-Version: 1.0 X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED,SPF_HELO_NONE, SPF_PASS,T_SCC_BODY_TEXT_LINE,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1763521135727284443?= X-GMAIL-MSGID: =?utf-8?q?1763521135727284443?= The remote port is removed too late from fcloop_nports list. Remove it when port is unregistered. This prevents a busy loop in fcloop_exit, because it is possible the remote port is found in the list and thus we will never progress. The kernel log will be spammed with nvme_fcloop: fcloop_exit: Failed deleting remote port nvme_fcloop: fcloop_exit: Failed deleting target port Signed-off-by: Daniel Wagner --- drivers/nvme/target/fcloop.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/drivers/nvme/target/fcloop.c b/drivers/nvme/target/fcloop.c index c780af36c1d4..629a90fe4306 100644 --- a/drivers/nvme/target/fcloop.c +++ b/drivers/nvme/target/fcloop.c @@ -997,11 +997,6 @@ fcloop_nport_free(struct kref *ref) { struct fcloop_nport *nport = container_of(ref, struct fcloop_nport, ref); - unsigned long flags; - - spin_lock_irqsave(&fcloop_lock, flags); - list_del(&nport->nport_list); - spin_unlock_irqrestore(&fcloop_lock, flags); kfree(nport); } @@ -1358,6 +1353,8 @@ __unlink_remote_port(struct fcloop_nport *nport) nport->tport->remoteport = NULL; nport->rport = NULL; + list_del(&nport->nport_list); + return rport; } From patchwork Tue Apr 18 13:01:57 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Daniel Wagner X-Patchwork-Id: 84842 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp2835091vqo; Tue, 18 Apr 2023 06:09:55 -0700 (PDT) X-Google-Smtp-Source: AKy350Z9IXJKNSZyQyoLkZmFE6UOdY/ihE8dlg+ma2nY96+HGEvoojXAihecs6g3i4MP8TQI1yeb X-Received: by 2002:a05:6a20:4422:b0:f0:515d:1742 with SMTP id ce34-20020a056a20442200b000f0515d1742mr5192615pzb.53.1681823395239; Tue, 18 Apr 2023 06:09:55 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1681823395; cv=none; d=google.com; s=arc-20160816; b=bQI1KHTB3gXCJJ2UDnUwB18dNVGTWtMwKAW4/G8bYR3H8IQ8baYoWkLdOSExgV80ku p8ZrBK162GK6JwNix3IxqW7LrWdGvhzzfHi/xKo6mDPNJr+9JAG5NtfY0wmkULj39/jO pL0B0JHVfSdIQYof1Iyr2IUJ169r9i60on8LIc6vGlQ6TGA5AVqzXo+ITpw2dWskXNK0 QgMika6UIJOU/2rx0GbFNafXX9LEWGr3+UAEnP7unO64VzdUvAM2uDjNxEIU0zhN5Emm zOFjOWLCgjhFA0/20YX+rCULRvQ086zFzZgCYWBO4Ly3eRTfZfo03nxW0AYQfW4ijq1g 762g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature:dkim-signature; bh=5g2m9cdhDFuckoCqEKdoJuXLXK61genfhZXKo2FvJPM=; b=m+ajQuJTh0dB0NxnaLi6YMpZ8dSem9sTityEOQW5SqhGhjY2KVga7cAkPpnexBGpB3 fcEKHvCqeaxMOq2eVDP5VAPTanDuXRuv2JhjxJTxgHTcE+hye/EtoSWpXIJtOXCM+RZu YKIPzCO9DjfLs9AbZwAesTTaBPb2l9beAE4L7BPitGkA0ywhSlPL/GHiaKEj7gKOZxBq T/j2dOQ0ViDHdDzkIJUmU0P+5DysUnzOPRp1XvWgIlKqdGXlNY4c8R2/jQyvhEZnku5k K62P5t2fNUmzF6j9+xEpzCCidRxEDH0ZwLNuNaJYu8nyKR1IlcQSS3JQXB6gQD952WYU Up1w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@suse.de header.s=susede2_rsa header.b="lc1/ke99"; dkim=neutral (no key) header.i=@suse.de header.s=susede2_ed25519 header.b=YZYmCE5d; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=suse.de Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id x15-20020a634a0f000000b0051f0e959dc6si2475666pga.483.2023.04.18.06.09.38; Tue, 18 Apr 2023 06:09:55 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@suse.de header.s=susede2_rsa header.b="lc1/ke99"; dkim=neutral (no key) header.i=@suse.de header.s=susede2_ed25519 header.b=YZYmCE5d; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=suse.de Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232350AbjDRNCc (ORCPT + 99 others); Tue, 18 Apr 2023 09:02:32 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56244 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232329AbjDRNCW (ORCPT ); Tue, 18 Apr 2023 09:02:22 -0400 Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id CB1673581; Tue, 18 Apr 2023 06:02:12 -0700 (PDT) Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by smtp-out2.suse.de (Postfix) with ESMTPS id 23EB71F8D5; Tue, 18 Apr 2023 13:02:11 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1681822931; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=5g2m9cdhDFuckoCqEKdoJuXLXK61genfhZXKo2FvJPM=; b=lc1/ke99ZqNTootV2UfmpxNzV5L/dqCzxEu2E/KslbltKBcQqpu/J+JzXvDKdUDRFEfXFO 9NRMvGzSWM4nwIEyFA2cwsqLEhb+voC45PGEk8K+PhFpZteYuImCpYLQrS4fESQ7cTacRE I6jW3JTVYwDiENs+OgbFXOZqPaD8fqk= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1681822931; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=5g2m9cdhDFuckoCqEKdoJuXLXK61genfhZXKo2FvJPM=; b=YZYmCE5dO+lD/Uw9acR0E8Bgo4py4Uli0L+em/DUjLlbgdz/RTVlZsjRTCWfmRwZwtuf12 6h0mBsmUdG4ce6Aw== Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 14A99139CC; Tue, 18 Apr 2023 13:02:11 +0000 (UTC) Received: from dovecot-director2.suse.de ([192.168.254.65]) by imap2.suse-dmz.suse.de with ESMTPSA id oC4HBdOUPmSKJwAAMHmgww (envelope-from ); Tue, 18 Apr 2023 13:02:11 +0000 From: Daniel Wagner To: linux-nvme@lists.infradead.org Cc: linux-kernel@vger.kernel.org, linux-block@vger.kernel.org, Sagi Grimberg , James Smart , Chaitanya Kulkarni , Martin Belanger , Shinichiro Kawasaki , Daniel Wagner Subject: [PATCH v3 2/4] nvmet-fcloop: Do not wait on completion when unregister fails Date: Tue, 18 Apr 2023 15:01:57 +0200 Message-Id: <20230418130159.11075-3-dwagner@suse.de> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230418130159.11075-1-dwagner@suse.de> References: <20230418130159.11075-1-dwagner@suse.de> MIME-Version: 1.0 X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED,SPF_HELO_NONE, SPF_PASS,T_SCC_BODY_TEXT_LINE,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1763519648079588460?= X-GMAIL-MSGID: =?utf-8?q?1763519648079588460?= The nvme_fc_unregister_localport() returns an error code in case that the locaport pointer is NULL or has already been unegisterd. localport is is either in the ONLINE state (all resources allocated) or has already been put into DELETED state. In this case we will never receive an wakeup call and thus any caller will hang, e.g. module unload. Signed-off-by: Daniel Wagner --- drivers/nvme/target/fcloop.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/nvme/target/fcloop.c b/drivers/nvme/target/fcloop.c index 629a90fe4306..57b2d47cf640 100644 --- a/drivers/nvme/target/fcloop.c +++ b/drivers/nvme/target/fcloop.c @@ -1163,7 +1163,8 @@ __wait_localport_unreg(struct fcloop_lport *lport) ret = nvme_fc_unregister_localport(lport->localport); - wait_for_completion(&lport->unreg_done); + if (!ret) + wait_for_completion(&lport->unreg_done); kfree(lport); From patchwork Tue Apr 18 13:01:58 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Daniel Wagner X-Patchwork-Id: 84843 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp2835267vqo; Tue, 18 Apr 2023 06:10:06 -0700 (PDT) X-Google-Smtp-Source: AKy350ZwAA5SFH7FgSWzVq5nW1WZM/hHcuvBOgnrZmVgVJycyC5Em7addjDHIt/KHs28RO5+VV1u X-Received: by 2002:a05:6a00:992:b0:63b:854c:e0f6 with SMTP id u18-20020a056a00099200b0063b854ce0f6mr14584302pfg.21.1681823406101; Tue, 18 Apr 2023 06:10:06 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1681823406; cv=none; d=google.com; s=arc-20160816; b=GrnV8nwxzbQXuC3YAC3YMWgDs2zP+k2Co6x6iad0t4WJGoq63Y3RGdrEYIVD1B4ZKX JkZ4fRJzts6NMEMlkyyY8BPTHZtEo9HJJ6i17UdMh3dxpvxJn5rStGIDVHigHyd8UaH5 dNAq//yKgDCXrIZorv8I3wZFKsMmcoKGYxsm+QR5zUMt5I/ux2X2+wT6u6zhhdRMezrt uSkYJ2oDJEF9ZCb+O+OHY8m1pMKl8nY/h2hWoWXlBcMCG6hvRhrZSg0rMH/Odts0sTqc kSw1BH7ASdbwtgq9lLJurTbusSU5S6xTyb6j7iu7CGoAG2ik16qZNF7l1384EAph65gz 0w/Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature:dkim-signature; bh=Kj98SlaTXv/d9epXIQknuybCui1NnFvBmrWtCwostC0=; b=xsZto3rNsDKC7bIZ4U5ulkh59oNgPlzoxAqcL2KPSkFVWw5pnpClMbtN0psGn8jsxB YVoznd/21X1zZMYzwxxhq6QFT8n/G+CvYQQ4WTp7bXCTxWCAtPxC5emJalXNqHHxTkDI gbU2WDzN332+HmS7SBivTCb8z83WXZH0TFmHyDOXR03U5taIrfg67ByMDvBE+Fz3HhwP a8oY8ggTplsYmik1bPRD/3PiDbKOJMO3hms9wLCl9XsO8cjD7p77anNb8YglmGz8QFkg VlE5iv1jWussurSQf0T4QBtbwLndaTMUOyXOZRoAgiJEFtDpax9Kw05Q5iXixvxepUxN 2EKA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@suse.de header.s=susede2_rsa header.b=isCoNgSe; dkim=neutral (no key) header.i=@suse.de header.s=susede2_ed25519 header.b=OckJsSpd; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=suse.de Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id bs131-20020a632889000000b00502d6998a4asi14108732pgb.458.2023.04.18.06.09.46; Tue, 18 Apr 2023 06:10:06 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@suse.de header.s=susede2_rsa header.b=isCoNgSe; dkim=neutral (no key) header.i=@suse.de header.s=susede2_ed25519 header.b=OckJsSpd; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=suse.de Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232329AbjDRNCh (ORCPT + 99 others); Tue, 18 Apr 2023 09:02:37 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56296 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232339AbjDRNCX (ORCPT ); Tue, 18 Apr 2023 09:02:23 -0400 Received: from smtp-out1.suse.de (smtp-out1.suse.de [IPv6:2001:67c:2178:6::1c]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8FFBCBBAF; Tue, 18 Apr 2023 06:02:13 -0700 (PDT) Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by smtp-out1.suse.de (Postfix) with ESMTPS id BDDE421A2D; Tue, 18 Apr 2023 13:02:11 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1681822931; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=Kj98SlaTXv/d9epXIQknuybCui1NnFvBmrWtCwostC0=; b=isCoNgSeX9+Ig6d3AdavrjnibyFc1etqEv8AnTGoPWNJMlloj88Dln8YSChYd4/X7eUjN2 1qSxiF4vUM2Pwle34krmy8bVMqgDvkizeZ4woDXcyyhjwDbwMuFyQbBPo+PAHkBOnzpDir KTcopCyo7LKuOPwJZih2xb0j9IpkzmM= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1681822931; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=Kj98SlaTXv/d9epXIQknuybCui1NnFvBmrWtCwostC0=; b=OckJsSpdt8IvRazGJAJ/qYfYa20L4GLkjMkB7tnEDDW7PHg6fUyBLyg4wX+OB+d1puFJ3G OZRd7Jt4/4aURACw== Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id AF831139CC; Tue, 18 Apr 2023 13:02:11 +0000 (UTC) Received: from dovecot-director2.suse.de ([192.168.254.65]) by imap2.suse-dmz.suse.de with ESMTPSA id KxvXKtOUPmSQJwAAMHmgww (envelope-from ); Tue, 18 Apr 2023 13:02:11 +0000 From: Daniel Wagner To: linux-nvme@lists.infradead.org Cc: linux-kernel@vger.kernel.org, linux-block@vger.kernel.org, Sagi Grimberg , James Smart , Chaitanya Kulkarni , Martin Belanger , Shinichiro Kawasaki , Daniel Wagner Subject: [PATCH v3 3/4] nvmet-fc: Do not wait in vain when unloading module Date: Tue, 18 Apr 2023 15:01:58 +0200 Message-Id: <20230418130159.11075-4-dwagner@suse.de> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230418130159.11075-1-dwagner@suse.de> References: <20230418130159.11075-1-dwagner@suse.de> MIME-Version: 1.0 X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED,SPF_HELO_NONE, SPF_PASS,T_SCC_BODY_TEXT_LINE,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1763519660346980018?= X-GMAIL-MSGID: =?utf-8?q?1763519660346980018?= When there is no controller to be deleted the module unload path will still wait on the nvme_fc_unload_proceed completion. Because this will will never happen the caller will hang forever. Signed-off-by: Daniel Wagner --- drivers/nvme/host/fc.c | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/drivers/nvme/host/fc.c b/drivers/nvme/host/fc.c index 456ee42a6133..df85cf93742b 100644 --- a/drivers/nvme/host/fc.c +++ b/drivers/nvme/host/fc.c @@ -3933,10 +3933,11 @@ static int __init nvme_fc_init_module(void) return ret; } -static void +static bool nvme_fc_delete_controllers(struct nvme_fc_rport *rport) { struct nvme_fc_ctrl *ctrl; + bool cleanup = false; spin_lock(&rport->lock); list_for_each_entry(ctrl, &rport->ctrl_list, ctrl_list) { @@ -3944,21 +3945,28 @@ nvme_fc_delete_controllers(struct nvme_fc_rport *rport) "NVME-FC{%d}: transport unloading: deleting ctrl\n", ctrl->cnum); nvme_delete_ctrl(&ctrl->ctrl); + cleanup = true; } spin_unlock(&rport->lock); + + return cleanup; } -static void +static bool nvme_fc_cleanup_for_unload(void) { struct nvme_fc_lport *lport; struct nvme_fc_rport *rport; + bool cleanup = false; list_for_each_entry(lport, &nvme_fc_lport_list, port_list) { list_for_each_entry(rport, &lport->endp_list, endp_list) { - nvme_fc_delete_controllers(rport); + if (nvme_fc_delete_controllers(rport)) + cleanup = true; } } + + return cleanup; } static void __exit nvme_fc_exit_module(void) @@ -3968,10 +3976,8 @@ static void __exit nvme_fc_exit_module(void) spin_lock_irqsave(&nvme_fc_lock, flags); nvme_fc_waiting_to_unload = true; - if (!list_empty(&nvme_fc_lport_list)) { - need_cleanup = true; - nvme_fc_cleanup_for_unload(); - } + if (!list_empty(&nvme_fc_lport_list)) + need_cleanup = nvme_fc_cleanup_for_unload(); spin_unlock_irqrestore(&nvme_fc_lock, flags); if (need_cleanup) { pr_info("%s: waiting for ctlr deletes\n", __func__); From patchwork Tue Apr 18 13:01:59 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Daniel Wagner X-Patchwork-Id: 84847 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp2855643vqo; Tue, 18 Apr 2023 06:34:23 -0700 (PDT) X-Google-Smtp-Source: AKy350a7nWZJb7XIT1roTBF3mtXT6FFuI2KGBQc7Z9oZT2BYUT3Yx7sGwEaqbGuY82gvQrpsOZgc X-Received: by 2002:a05:6a20:431a:b0:ef:e440:8aac with SMTP id h26-20020a056a20431a00b000efe4408aacmr8130900pzk.39.1681824863197; Tue, 18 Apr 2023 06:34:23 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1681824863; cv=none; d=google.com; s=arc-20160816; b=Bq8avlRzZTslROCBZUhHOrEw+yfQ/9VedDPQcrRwbhhflcCdWVJvTZyg9SoREBiJ3I 9+YTvWc8kKspK379DmnKcS2mZrN3lZ/PZNepznXbGwaLDvgY+b5u+YkDQk5GwTh03SAE Y59u3AKLzdFGJFqzwFmijVmnUnvM6u9DH+b1v3OF6b4rE9UAJg2/u06/0+Svv2xKwdog /0PSrRF1clNUc3BreSyJ/GvP/ge2scwjq++QTcAH9avGJlWtyiZ16V0sNMu6TMX9oRCm d3vVRYVtnJQ8wjsCh0WvGxNErM1aLeuDUu1ourO9xfhZbRZ6+hj+RQspzMkCh+9MOR9T fT5A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature:dkim-signature; bh=ZY9sxvj6D4iXpgx1qxODzCgmh0MIsy7/YXUSzF3Zq2Y=; b=erHAoiCu4jj2Ch2tHHXmBJtIpayCyfyp+ThMN07KkPXjMKRZjmKV5nsG2oFTw3SV8A KA4byhXYNvM1vA+YLUJIVEkcEFfiA2+6MVMV5stQkn4EsQrH1lT8r1AwJX/Ydl/wQ+bL UrguRZQT4h9e0+sIVZNu5/IKA75rUx0aH00BNbSaDWZF6nUzMqIyEpcLTU97WsAApYKg 6Lrab6SMypDhKuEINuUnCNqkvU06BJjqiLeJh83nyETfZ6721E/gLYm5nyB5NIEQmBwF RkSjV3QXo6kem7+xsI4+2RvMr3pqOArgyaDh8hwr+OwPVPuhoqc1uFeA6grLdcZgSRn4 fZrA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@suse.de header.s=susede2_rsa header.b=m4dN3zHb; dkim=neutral (no key) header.i=@suse.de header.b=Eu5bdJz+; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=suse.de Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id w8-20020a63f508000000b0051bb433f5d3si5305785pgh.862.2023.04.18.06.34.05; Tue, 18 Apr 2023 06:34:23 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@suse.de header.s=susede2_rsa header.b=m4dN3zHb; dkim=neutral (no key) header.i=@suse.de header.b=Eu5bdJz+; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=suse.de Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232347AbjDRNCk (ORCPT + 99 others); Tue, 18 Apr 2023 09:02:40 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56258 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232341AbjDRNCX (ORCPT ); Tue, 18 Apr 2023 09:02:23 -0400 Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9A79AC140; Tue, 18 Apr 2023 06:02:13 -0700 (PDT) Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by smtp-out1.suse.de (Postfix) with ESMTPS id 583772198D; Tue, 18 Apr 2023 13:02:12 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1681822932; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=ZY9sxvj6D4iXpgx1qxODzCgmh0MIsy7/YXUSzF3Zq2Y=; b=m4dN3zHb/zbBb6KD/8nwFZcUptHzIHM08HbBQITK+/s96hkdRAB8nTZxX1aOgwx4lUeGur rOXTUaHfqzGXqbxfpy+R/0muoO2/CuvHblkltgBf+iAAcjqEyduK2UybDRbja++lnzOwYQ N7hUtYxA2i4yoA2+3ZikUumbAF+BwOk= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1681822932; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=ZY9sxvj6D4iXpgx1qxODzCgmh0MIsy7/YXUSzF3Zq2Y=; b=Eu5bdJz+i0cTxM/ZzsknJ8+gQU297t32ycgeZ12JWAIvPnhulke5ZodY5vqscwKpKsB0NJ bnlqu005LfMEBUAg== Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 49D58139CC; Tue, 18 Apr 2023 13:02:12 +0000 (UTC) Received: from dovecot-director2.suse.de ([192.168.254.65]) by imap2.suse-dmz.suse.de with ESMTPSA id CtbPEdSUPmSVJwAAMHmgww (envelope-from ); Tue, 18 Apr 2023 13:02:12 +0000 From: Daniel Wagner To: linux-nvme@lists.infradead.org Cc: linux-kernel@vger.kernel.org, linux-block@vger.kernel.org, Sagi Grimberg , James Smart , Chaitanya Kulkarni , Martin Belanger , Shinichiro Kawasaki , Daniel Wagner Subject: [PATCH v3 4/4] nvmet-fc: Release reference on target port Date: Tue, 18 Apr 2023 15:01:59 +0200 Message-Id: <20230418130159.11075-5-dwagner@suse.de> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230418130159.11075-1-dwagner@suse.de> References: <20230418130159.11075-1-dwagner@suse.de> MIME-Version: 1.0 X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED,SPF_HELO_NONE, SPF_PASS,T_SCC_BODY_TEXT_LINE,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1763521187317058117?= X-GMAIL-MSGID: =?utf-8?q?1763521187317058117?= In case we return early out of __nvmet_fc_finish_ls_req() we still have to release the reference on the target port. Signed-off-by: Daniel Wagner --- drivers/nvme/target/fc.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/nvme/target/fc.c b/drivers/nvme/target/fc.c index 1ab6601fdd5c..df7d84aff843 100644 --- a/drivers/nvme/target/fc.c +++ b/drivers/nvme/target/fc.c @@ -359,6 +359,7 @@ __nvmet_fc_finish_ls_req(struct nvmet_fc_ls_req_op *lsop) if (!lsop->req_queued) { spin_unlock_irqrestore(&tgtport->lock, flags); + nvmet_fc_tgtport_put(tgtport); return; }