From patchwork Tue Apr 11 12:07:15 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Daniel Wagner X-Patchwork-Id: 81928 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp2521405vqo; Tue, 11 Apr 2023 05:11:29 -0700 (PDT) X-Google-Smtp-Source: AKy350YQXyIKD88Aexp7GzyBstWgmI2CsJ6feUMWZDGHZHOqVmR7lhTstvrICARMnPAjeQLTY3R1 X-Received: by 2002:a17:902:cecb:b0:19e:dc0e:1269 with SMTP id d11-20020a170902cecb00b0019edc0e1269mr21468921plg.7.1681215089324; Tue, 11 Apr 2023 05:11:29 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1681215089; cv=none; d=google.com; s=arc-20160816; b=oWUu2Ef7usQK+lftrAMZNbXxBIVUH59aokY5631uapmF6aEFByzjj+sM+j01LgbxU9 wkq2LVFqaRzgUpNv9OfzBy5wXFvQ8XH3RD3uj+amLC64io17RJ062oGs9PZwC5gvjOpT apkehsnRiNLGrzv/Esdl1GMHFqP6RPefR7tXqPM30OWa/eARzulBgUaC/5KRTT2ENrzJ 34QCQvdIjk73iQ8QABi0m6Fd3TL6Z47vd66VKhXx4+wK/IWx/R3m5FbIhJj3l8gXfN9x XeFbHr6E76rfXjJ4Iiv8h3zHDRfXmmDu/6bSbEndDcrUuFPSOlFjbunsZnLSwWbRFR4d 0aIA== 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=NfxBQ+YwCQT4C500tsTvYDqFoF6jclwkqD6YJhX2o+Y=; b=jnrdIfhP4tBrd4r8ze5jp17E0eJ+EZYgtziItYHl+gQyvTRZ1BGHpOm3vtJYYP/+0g BygJyqReMczMUU5UY9b+WwrpgPXX6+qSvWmh0fyYJusAGJAhHyzLxpvpvCZnKL+DQBM8 wlxt68JlYsz4YwKBk9xt7hpiwPa0xSbmrirxmpuU0k3o2jrC+jjILhrbuUsypn71rv7S 1RQJfH8C5/ATRLnv+0GExmR38vGFJgqGI6mO6tHLhflvMfKhYG+TUDlBhX59IbxTThrp zQvqw6bkEZAdofllx2zl6BDGqruwhyF4WcWYp6HSyEN/8TMDZlWZhGusaNP/Jl4ufHCA PG7g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@suse.de header.s=susede2_rsa header.b=K2o6RKqo; dkim=neutral (no key) header.i=@suse.de header.s=susede2_ed25519 header.b=sY0Uc2g6; 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 j29-20020a63595d000000b0050e60e36393si12528445pgm.776.2023.04.11.05.11.16; Tue, 11 Apr 2023 05:11:29 -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=K2o6RKqo; dkim=neutral (no key) header.i=@suse.de header.s=susede2_ed25519 header.b=sY0Uc2g6; 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 S229804AbjDKMHa (ORCPT + 99 others); Tue, 11 Apr 2023 08:07:30 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53532 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229545AbjDKMH1 (ORCPT ); Tue, 11 Apr 2023 08:07:27 -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 3393F2D48 for ; Tue, 11 Apr 2023 05:07:27 -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 D467021A47; Tue, 11 Apr 2023 12:07:25 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1681214845; 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=NfxBQ+YwCQT4C500tsTvYDqFoF6jclwkqD6YJhX2o+Y=; b=K2o6RKqoXbIRqvLQ6ms4tAYt3tGPge1LW+XGpeyYNhhwqPzdArhN6/F3MnL6zVvfehSubm ND0+AMAxECFBLQzvPbOkFyhqM3OHkp+Aw2GdDTHe6JwYuEs7p4W7xfRN6wJG/5due289zq hKC1Ejf+zYVQ6qn7uU0zf5UVjjzMqbg= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1681214845; 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=NfxBQ+YwCQT4C500tsTvYDqFoF6jclwkqD6YJhX2o+Y=; b=sY0Uc2g6d18FdMSnd04E+yW9xydSYI6kfSSY7gk/t2eOtbrnREBHE9ONU1Gh7M+InxjOtw 2WITr9fAddjJzMAA== 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 C76A013638; Tue, 11 Apr 2023 12:07:25 +0000 (UTC) Received: from dovecot-director2.suse.de ([192.168.254.65]) by imap2.suse-dmz.suse.de with ESMTPSA id NVmqMH1NNWR5BgAAMHmgww (envelope-from ); Tue, 11 Apr 2023 12:07:25 +0000 From: Daniel Wagner To: linux-nvme@lists.infradead.org Cc: linux-kernel@vger.kernel.org, Sagi Grimberg , James Smart , Chaitanya Kulkarni , Daniel Wagner Subject: [PATCH v2 1/4] nvmet-fcloop: Remove remote port from list when unlinking Date: Tue, 11 Apr 2023 14:07:15 +0200 Message-Id: <20230411120718.14477-2-dwagner@suse.de> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230411120718.14477-1-dwagner@suse.de> References: <20230411120718.14477-1-dwagner@suse.de> MIME-Version: 1.0 X-Spam-Status: No, score=-2.5 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED,SPF_HELO_NONE,SPF_PASS autolearn=unavailable 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?1762881793566515125?= X-GMAIL-MSGID: =?utf-8?q?1762881793566515125?= The remote port is never removed from fcloop_nports list. During module unloading it's possible to end up an busy loop in fcloop_exit, because 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 | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/nvme/target/fcloop.c b/drivers/nvme/target/fcloop.c index 5c16372f3b53..1e53c8fe4b95 100644 --- a/drivers/nvme/target/fcloop.c +++ b/drivers/nvme/target/fcloop.c @@ -1352,6 +1352,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 11 12:07:16 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Daniel Wagner X-Patchwork-Id: 81929 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp2521588vqo; Tue, 11 Apr 2023 05:11:49 -0700 (PDT) X-Google-Smtp-Source: AKy350Y6poM/Q/LC9wvG0mS1ePM6+138/R3ZOclEohe15oU6ILETJIYNgrw1zLX2Pyr0uus2ux6i X-Received: by 2002:a17:906:c08a:b0:932:c1e2:9983 with SMTP id f10-20020a170906c08a00b00932c1e29983mr11940696ejz.15.1681215108971; Tue, 11 Apr 2023 05:11:48 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1681215108; cv=none; d=google.com; s=arc-20160816; b=tN2w7VFET+VQJtffhIALP6ouU8rzwT91QrV5yFT5ip08ZKdTjPSaNuF4Fyitzbem7G jL+jkA1hqgBRydm93Th/kV74J1Gn+2WpXQymQr9Oo0+aiilGCnjP0ycytmsGGHD6tOCP Kxof+Z8udVQB/eJ723Ma9g/RlrYWjraMeqZPmeEkqv+2x2jDcJS8Kil8xJ1Jl9POBYJh eyTx+rogU0W5ABOz/5MpDBWvC49NIJLPMBVZa9kzCMxmz2I5O5edCg9S+tOF0hrKgVpv MgXEcp/fW1jsgcC4S/298wlKWlRHkEvusLZSkRca5gMN9pMKq03agNhvFGQ2HXJ+w8UI jhSw== 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=AM9IzWlxFgnv2yBc55OQqOy6rxrdVVGUpc9W9P8C1kk=; b=nD9wWWxg7NebBa3fI/R1px6ZTJEjmLskIW3HDfbe4FJHQ4jG9G9oc6ZVn729d+Ut5O FabgSKsklw9S7a4DpJj3wG8VX/wXQHIJRYlIQisSPuUULxCDawo65lC38iYDomamR9Jr z5WyQPlKG2XkrYq2dSNLRjAAT+oSvD12pX5eUrICSQ+2Cfg41B9HPUbJ2K6L8XoIXiQn j1uK1xAjQ6iyURDJtxQVSy1dnWWx2YEMyZOI698oTTi1N6tu81CcHbqdDSdmTM+Xn7uW ssk8QtNbw6KxxDi347BofR9Y72J3DJgKq91WxUiTxf/Amyz7PuV9DGUOVRUSBxRTCBDp lcOA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@suse.de header.s=susede2_rsa header.b=RCcSRQDD; dkim=neutral (no key) header.i=@suse.de header.s=susede2_ed25519 header.b=mst0K5lD; 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 tc17-20020a1709078d1100b009311b97abe3si204980ejc.112.2023.04.11.05.11.24; Tue, 11 Apr 2023 05:11:48 -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=RCcSRQDD; dkim=neutral (no key) header.i=@suse.de header.s=susede2_ed25519 header.b=mst0K5lD; 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 S229873AbjDKMHd (ORCPT + 99 others); Tue, 11 Apr 2023 08:07:33 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53542 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229717AbjDKMH2 (ORCPT ); Tue, 11 Apr 2023 08:07:28 -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 D36FA2683 for ; Tue, 11 Apr 2023 05:07:27 -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 8C0EC21A54; Tue, 11 Apr 2023 12:07:26 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1681214846; 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=AM9IzWlxFgnv2yBc55OQqOy6rxrdVVGUpc9W9P8C1kk=; b=RCcSRQDDXUpduzhYh4BPlWyt2F+66XGCyV33bTQxIFpZODzNCy5RlSDaFo7PE5VOZ2Knsf zLPFpb4k4+MGfuhnqiPljC4jrat9AgRi/52YhSf8ROdMaE1WJorJKlaq4XTqW9U4o6lKDm rXEysvyuuDD9bu/DYjwOxkoBI526Yy4= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1681214846; 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=AM9IzWlxFgnv2yBc55OQqOy6rxrdVVGUpc9W9P8C1kk=; b=mst0K5lD3ygsXLl/DIWPSH8p8XbhhthNeMpFoPLhlYmkYOSrg3R3c3M+n+3FcZyzr3DkAH QdDmmvAcy/5I0OAQ== 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 8053113638; Tue, 11 Apr 2023 12:07:26 +0000 (UTC) Received: from dovecot-director2.suse.de ([192.168.254.65]) by imap2.suse-dmz.suse.de with ESMTPSA id L4knH35NNWR7BgAAMHmgww (envelope-from ); Tue, 11 Apr 2023 12:07:26 +0000 From: Daniel Wagner To: linux-nvme@lists.infradead.org Cc: linux-kernel@vger.kernel.org, Sagi Grimberg , James Smart , Chaitanya Kulkarni , Daniel Wagner Subject: [PATCH v2 2/4] nvmet-fcloop: Do not wait on completion when unregister fails Date: Tue, 11 Apr 2023 14:07:16 +0200 Message-Id: <20230411120718.14477-3-dwagner@suse.de> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230411120718.14477-1-dwagner@suse.de> References: <20230411120718.14477-1-dwagner@suse.de> MIME-Version: 1.0 X-Spam-Status: No, score=-2.5 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED,SPF_HELO_NONE,SPF_PASS autolearn=unavailable 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?1762881814196419552?= X-GMAIL-MSGID: =?utf-8?q?1762881814196419552?= 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 1e53c8fe4b95..6c3905498a94 100644 --- a/drivers/nvme/target/fcloop.c +++ b/drivers/nvme/target/fcloop.c @@ -1162,7 +1162,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 11 12:07:17 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Daniel Wagner X-Patchwork-Id: 81933 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp2533181vqo; Tue, 11 Apr 2023 05:31:01 -0700 (PDT) X-Google-Smtp-Source: AKy350YQy4g+dqPEer297ChCeylJB8zs84CsoaN+5sJQB7yYNmBj84SYzOx7rxcRTNtRIVr5MQnJ X-Received: by 2002:a17:903:230b:b0:1a1:b5e3:7db4 with SMTP id d11-20020a170903230b00b001a1b5e37db4mr19383421plh.18.1681216261116; Tue, 11 Apr 2023 05:31:01 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1681216261; cv=none; d=google.com; s=arc-20160816; b=EE7frBv/azHk3+Gm55fDQovi9un/tYuYEr2+JktfnUjxZsrI44B4cMRnvU3Zpr8Vwc xpB1OEYTmJNrmqV2/lwNtHgbD92rzbmruYqzTTApYihXH0h+qfxMZL+XKhUkuBRT0kuC iCjCPLMDMiiAemnmsvvmsSezh1ocj818Yn2aObZT0Jy4q6Fh16HvaXucNAicqkoxDqVm OJD9d0qU9zp3iCOLZR/rx2rinEb8mNUVe6T+o6F6/+1siDA4KDHJoUS+ZohLDmGW0iYG kaQnOnfGh29tuplQM9nkKtRJwGkgob0Bmjt9Bpev+okVhXmnrBdbdH+GPfKKRtI8miyk tg+A== 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=kSkn35QaZ64KV1uT9rAiTEFVvVZjDoFBQdsZwe6mb97Vshdk8Tk+6gyHNeBCX+gVx7 CUBpmoLCYEp3PIllDEKXpc5q3TwkpNpxE/vWPDhnhOXpSyyFdnojpHVm18Gm14sO1pTe /QNOGlTpyqkVWnKE8IaFZ77TI9EAAFUFUaoVuyg1XKDikKq35swVibSWUpSFpO0wcKQN XL3M3sLo1W9jlX13gE7c7f8YNUOr3UcPtheADse7YEsJV8SoflAw8ZcWu5YvApsviPkR gK53M7o/76DJUtZZdsNf+tO99yF6jI+O0zc0UUrYrxhlYdeudGvcd7necTkjP7U3ulw3 o1IQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@suse.de header.s=susede2_rsa header.b="pU+/k6pu"; 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 p1-20020a170902e74100b001a6476f0489si4008931plf.586.2023.04.11.05.30.48; Tue, 11 Apr 2023 05:31:01 -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="pU+/k6pu"; 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 S229926AbjDKMHf (ORCPT + 99 others); Tue, 11 Apr 2023 08:07:35 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53552 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229787AbjDKMH3 (ORCPT ); Tue, 11 Apr 2023 08:07:29 -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 99F4F272A for ; Tue, 11 Apr 2023 05:07:28 -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 4771021A57; Tue, 11 Apr 2023 12:07:27 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1681214847; 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=pU+/k6puJ9CXqLMxQwOWjGVot7yyvwTGO13IGi0suYh4uctbyvV0PrVhjza25PTbBVruXW CIj/Lkaar+o0vAa0u0uXHdtNhP0ELiZw1ZtmdsTUpZcRk974yTz/f/uahCS18t+GR6/Z+m R7QcnFGspuP/1xIhkkxpFo2/1RE1070= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1681214847; 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=XgbpKbWq5NHqKNKUYWM0tTgNTJO9U5zdgEzi7EcH0RU5a5d2N93wXFIVe2QXFo8K+/RI6J 7FFMiuGKVNTBgjAw== 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 31EBD13638; Tue, 11 Apr 2023 12:07:27 +0000 (UTC) Received: from dovecot-director2.suse.de ([192.168.254.65]) by imap2.suse-dmz.suse.de with ESMTPSA id t84tDH9NNWR9BgAAMHmgww (envelope-from ); Tue, 11 Apr 2023 12:07:27 +0000 From: Daniel Wagner To: linux-nvme@lists.infradead.org Cc: linux-kernel@vger.kernel.org, Sagi Grimberg , James Smart , Chaitanya Kulkarni , Daniel Wagner Subject: [PATCH v2 3/4] nvmet-fc: Do not wait in vain when unloading module Date: Tue, 11 Apr 2023 14:07:17 +0200 Message-Id: <20230411120718.14477-4-dwagner@suse.de> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230411120718.14477-1-dwagner@suse.de> References: <20230411120718.14477-1-dwagner@suse.de> MIME-Version: 1.0 X-Spam-Status: No, score=-2.5 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED,SPF_HELO_NONE,SPF_PASS autolearn=unavailable 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?1762883021834273341?= X-GMAIL-MSGID: =?utf-8?q?1762883021834273341?= 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 11 12:07:18 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Daniel Wagner X-Patchwork-Id: 81930 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp2521692vqo; Tue, 11 Apr 2023 05:12:00 -0700 (PDT) X-Google-Smtp-Source: AKy350bQWglq32oVh01cTo1nWWq4dYHoa7W4gT0DKLVvq/oKdZKeqicOhmgMYYG92hU9azla05uN X-Received: by 2002:aa7:dac6:0:b0:4fd:2140:5cc6 with SMTP id x6-20020aa7dac6000000b004fd21405cc6mr1998557eds.17.1681215120206; Tue, 11 Apr 2023 05:12:00 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1681215120; cv=none; d=google.com; s=arc-20160816; b=jXstRkQwXCoKKe8BmlJ7dHl2OzhYyrDdPeIkvbm94b51WRriVjqjN/kIe8cFUB+3y3 rf+PGuk0jjCQm1aGwqN4WoG9MRkNw7KWOa+3TkSVaCxmYiM0Zv5Up2Y/EI0rGLOswbKW GyJktqOMhUYhB3YlipzWahsmpMLKkgUVOso/vTbtTl6oDOaceIYzQ2QNcThu4H3ydgfi s8sUZnU+h9g3eLEzX8YQZ18qP50ZD3hbZw2Uv0sdPwRyShPaDQTGooPN2m7Rn8sciL9p ouWln5F02eHVs5+mVDNh4rdAseJjECQ3TdW1FuqBCuNiW6tbKlehC/BH334Fzis9UfpO 9NeA== 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=y5BIBEjVmGQE8nVVMxg+S39KlN6Rv6o/Bw+Nd1wksRg9UF9zm5ooiP4AIxkAWfBAxz i/bknO+z6m43PWNEMkjon5xMd86JopJYzLsWu+X7834Ik0czczwnE4r688w4a3wMnEQi kOvrRwBAwnOleqfaIuIk76T+h0jTx+YMlJOQJRPwqiK/i6PV/DPD24+01qRSFXd/EdFp NyBuTpegaRdD/kqXcb4MHS8nmUa8DrhcDhivjjAMJie3DkvlGjcT5nc6W/jnQUil0mTV M0/aeay+4f6YhMo1i8I83yn9p5gsy3s4S9WqaEY6CvqZhqHuNlbsocKU1quyGkMGf8bV 8GIw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@suse.de header.s=susede2_rsa header.b=gBCkQ4ZL; 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 j15-20020aa7ca4f000000b00504ae3777desi4122584edt.316.2023.04.11.05.11.35; Tue, 11 Apr 2023 05:12:00 -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=gBCkQ4ZL; 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 S229751AbjDKMHi (ORCPT + 99 others); Tue, 11 Apr 2023 08:07:38 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53574 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229788AbjDKMH3 (ORCPT ); Tue, 11 Apr 2023 08:07:29 -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 3268E2683 for ; Tue, 11 Apr 2023 05:07:29 -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 DD8FA21A25; Tue, 11 Apr 2023 12:07:27 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1681214847; 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=gBCkQ4ZLZxayb71eCIDQnysn6YnItRU6c27BhG6V5/G/PeoLnTkGWDyGHjQhPbnXETEMNG zqyFTIH3Z3uDw3wYlfwOJaskNwIaSRB42y9EYj93Wo+TTKLNItgGu2YFfz/s2+0+Vj6ro2 qkvCGiKrtZIZaWZvyFGgrY8pANtXd7w= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1681214847; 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=xMyg7CATI2PxiwVfoaahdv9aFMKEKhDvu+p4Ra3nm/+sg4nwuhgU5cEAQtmCSSQrkKSzxS VvaXSuLVm1Nq6eDg== 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 D265A13638; Tue, 11 Apr 2023 12:07:27 +0000 (UTC) Received: from dovecot-director2.suse.de ([192.168.254.65]) by imap2.suse-dmz.suse.de with ESMTPSA id JVtcM39NNWSABgAAMHmgww (envelope-from ); Tue, 11 Apr 2023 12:07:27 +0000 From: Daniel Wagner To: linux-nvme@lists.infradead.org Cc: linux-kernel@vger.kernel.org, Sagi Grimberg , James Smart , Chaitanya Kulkarni , Daniel Wagner Subject: [PATCH v2 4/4] nvmet-fc: Release reference on target port Date: Tue, 11 Apr 2023 14:07:18 +0200 Message-Id: <20230411120718.14477-5-dwagner@suse.de> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230411120718.14477-1-dwagner@suse.de> References: <20230411120718.14477-1-dwagner@suse.de> MIME-Version: 1.0 X-Spam-Status: No, score=-2.5 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED,SPF_HELO_NONE,SPF_PASS autolearn=unavailable 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?1762881825785315497?= X-GMAIL-MSGID: =?utf-8?q?1762881825785315497?= 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; }