From nobody Sun Feb 8 21:06:42 2026 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 93CE5340293 for ; Tue, 28 Oct 2025 15:26:32 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1761665192; cv=none; b=jxOkb4JxPyIS1AVsok49VXl6fNlixqDqTQ/F4Ow19xCNaryiJjwPszarar2KjIxjTyYanfi6gu1RpEfs5owLr2CCGx0Xtx5ry/bQkw7R4P0Cmqwtqrk/fvUwvxmKBoIDBmBXxRTgcfpu9ley5iUtGNrWhtXQ1l2IPbZoCZcvGbc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1761665192; c=relaxed/simple; bh=GTIbNeoxU6ONRl0I+KD8gbQC9oD3AKOkwvSlwjKDCsI=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=pf95QKgrKDencZ76N3fW0ceFt8f3L9+oxopVhKXs1Ll/kQbUVzpyGpTgImstgVPzPCikrNnVXWW/0J6uRsrXpyHLYfr50fUJ6gfGuTn9IgYkrBaBW0KI5qlNk/qMbClISrkAy0TvW51Tv3kz0cmAJ2Av2TYIQNfx6qhIAjQIADg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=llQGr5a1; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="llQGr5a1" Received: by smtp.kernel.org (Postfix) with ESMTPSA id BEEDDC4CEFD; Tue, 28 Oct 2025 15:26:31 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1761665192; bh=GTIbNeoxU6ONRl0I+KD8gbQC9oD3AKOkwvSlwjKDCsI=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=llQGr5a1BBWCntIQeV9zjqYoyxE+seNU1Zw5jkmdOLxnsjCFuguj5txU0sxwS+50a Z5QZChZeL0H2DknXq/Sz7fs5cUKfphY/nzoGH5Wpu7/PyyS1MX5glZ78ZpiOTIdjoe Wj8fIPjpSZhg0WRCxRVxxUIvBwTbz7quh7swuXAyMwCPNE9fdnqWf0fVXrhzI3/0PW GgFRqVKts7wIhdGxEU02VTM0gTgS1LRRAmVvAWnYFQBCDdpAAsOtW96t+Gd72fFuMA Qb95KsV/Eop1151XfVwckglZ75Nq4DYOp8FA3533VdZNnDOFqbQiXri2SjxpNP6R3G 6UtBKfurXnwSA== From: Daniel Wagner Date: Tue, 28 Oct 2025 16:26:20 +0100 Subject: [PATCH 1/5] nvme-fc: don't hold rport lock when putting ctrl Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20251028-nvmet-fcloop-fixes-v1-1-765427148613@kernel.org> References: <20251028-nvmet-fcloop-fixes-v1-0-765427148613@kernel.org> In-Reply-To: <20251028-nvmet-fcloop-fixes-v1-0-765427148613@kernel.org> To: Justin Tee , Christoph Hellwig , Keith Busch Cc: James Smart , Jens Axboe , linux-nvme@lists.infradead.org, linux-kernel@vger.kernel.org, Daniel Wagner X-Mailer: b4 0.14.3 nvme_fc_ctrl_put can acquire the rport lock when freeing the ctrl object: nvme_fc_ctrl_put nvme_fc_ctrl_free spin_lock_irqsave(rport->lock) Thus we can't hold the rport lock when calling nvme_fc_ctrl_put. Signed-off-by: Daniel Wagner Reviewed-by: Christoph Hellwig --- drivers/nvme/host/fc.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/nvme/host/fc.c b/drivers/nvme/host/fc.c index 03987f497a5b..2c0ea843ae57 100644 --- a/drivers/nvme/host/fc.c +++ b/drivers/nvme/host/fc.c @@ -1488,7 +1488,9 @@ nvme_fc_match_disconn_ls(struct nvme_fc_rport *rport, if (ret) /* leave the ctrl get reference */ break; + spin_unlock_irqrestore(&rport->lock, flags); nvme_fc_ctrl_put(ctrl); + spin_lock_irqsave(&rport->lock, flags); } =20 spin_unlock_irqrestore(&rport->lock, flags); --=20 2.51.0 From nobody Sun Feb 8 21:06:42 2026 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6ED74340DBB for ; Tue, 28 Oct 2025 15:26:35 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1761665195; cv=none; b=QSKSRa5AukW+z/TYFU+OPEgSl8iyXLMgglB76a1tkNIWEBEawSWzLSxdgZiD4XpXlgR3o1yi1A2jPbSYv5KSMuShW0lGwKGoAkn0A05q6yjwgxOT6TrBefTTFTMrBkcl2+74PZomUrBgBBS8dTkoq+8C0pK+prSiLz4GPkfWdvE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1761665195; c=relaxed/simple; bh=Ak6jGISt8Tnwrl6aQtFstbUZY6A+aNV03E07Eu6cuf0=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=XzxYDVweD8nLybaAzJ/+F/VOYfJUD4qgSxAqNU92JH5FhJuJiJMuIpih/Durzy79r11oZ8DP5TaMzr1OnfiIYCofobUKgvcE+s5cicYa/AgnvDkPlYd+/qNK7h8YmXVLosKFS2zwlT7+3lj+TuGSc7hONmZMYmNPEzT5Fy8NIns= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=YHCpIrRA; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="YHCpIrRA" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 9B88EC4CEF7; Tue, 28 Oct 2025 15:26:34 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1761665195; bh=Ak6jGISt8Tnwrl6aQtFstbUZY6A+aNV03E07Eu6cuf0=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=YHCpIrRADrOHpz/kLnfTOZNXd5IKsPMlV2ysYBdKG6lH2z56BQECWKKKwsmbD6cA8 JY2fJRLbSSmYWl9XeP1Dwo/wQlrLL3/ifOUUn5rsiXFd0vGJh3FRVZxFoSMvL+A8aY 32fJ0npjLfR8UXFIyuTBEL4cG7H3xX1c/oCU4Ajn5MtkHbi1a4X1LvnNPT9hU2amvM 6s5d6R6jP70mu/7dmhGQiMb0259RH5vAjjHJReigsQfB+5GpsEEKR/z0dnXw7mmoUV pzTb5xgtMouxunlc85k9p+T1H638Vc8zw+CXj2TSIhLk0N/bLL8cz1+D4sFhqKnGtJ Y7pfLOtnl08Eg== From: Daniel Wagner Date: Tue, 28 Oct 2025 16:26:21 +0100 Subject: [PATCH 2/5] nvme-fc: check all request and response have been processed Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20251028-nvmet-fcloop-fixes-v1-2-765427148613@kernel.org> References: <20251028-nvmet-fcloop-fixes-v1-0-765427148613@kernel.org> In-Reply-To: <20251028-nvmet-fcloop-fixes-v1-0-765427148613@kernel.org> To: Justin Tee , Christoph Hellwig , Keith Busch Cc: James Smart , Jens Axboe , linux-nvme@lists.infradead.org, linux-kernel@vger.kernel.org, Daniel Wagner X-Mailer: b4 0.14.3 When the rport is removed there shouldn't be any in flight request or responses. Signed-off-by: Daniel Wagner Reviewed-by: Christoph Hellwig Reviewed-by: Hannes Reinecke --- drivers/nvme/host/fc.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/nvme/host/fc.c b/drivers/nvme/host/fc.c index 2c0ea843ae57..dcb7fc2ca0b7 100644 --- a/drivers/nvme/host/fc.c +++ b/drivers/nvme/host/fc.c @@ -520,6 +520,8 @@ nvme_fc_free_rport(struct kref *ref) =20 WARN_ON(rport->remoteport.port_state !=3D FC_OBJSTATE_DELETED); WARN_ON(!list_empty(&rport->ctrl_list)); + WARN_ON(!list_empty(&rport->ls_req_list)); + WARN_ON(!list_empty(&rport->ls_rcv_list)); =20 /* remove from lport list */ spin_lock_irqsave(&nvme_fc_lock, flags); --=20 2.51.0 From nobody Sun Feb 8 21:06:42 2026 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id ADD43341657 for ; Tue, 28 Oct 2025 15:26:37 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1761665197; cv=none; b=geGz1uAe/zd0K81XGbcbIjoSGUwYbsCYoipF0hb5AkdmebNpbzC2G5aAnh0jaGBz8k+g5NBFjV4hVfsqsZwXoQ+5OWd5eXmozOm8Cv8Jm8RdZ1qrsnSKK/XpRXqtH9fe4aFuqpASE3gI0nn+wNJlXtO6ThE69s8lqxPilP+6Uec= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1761665197; c=relaxed/simple; bh=uk4BXDqQZAgKrVvpodOAU8C2ZzT9WsLHCrNjmUbOuuk=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=XLg3x+UsbPWrkbo1nnOz4KWyLUV26IAk1Viyq3Jrs0fWqHTNS5iV4LmvMtYpc/czMs2SoOzGb9FbsAlv3pHRm75Llw2+eSDxHeXtnEcwEhronqz6dcEkwgVXoW3HtpU3T5Am0ePvLmkJcPNZ80icvp4ahq9SM9gbX+WtuLOz+Lw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=Zsr5vbNp; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="Zsr5vbNp" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3768DC4CEFD; Tue, 28 Oct 2025 15:26:37 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1761665197; bh=uk4BXDqQZAgKrVvpodOAU8C2ZzT9WsLHCrNjmUbOuuk=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=Zsr5vbNpeCASQVoVA89FzshZNjVQeNybVav7TArfjjGz0NBsdOXD5gZRLvoMafmGW 8Fi15S8xgwf8U7jtMi1ALItXHPTidOFf+yXF47MRpLMnhYAIoYRggjxE+klAz9PSxq KVjtyuMkH+HQQa9F5GjpQzyFbC8uaBJduiP3V6IAD3Q40nKl6M2dOYGNl++qwZtveY 4ITErAtU3DR3ygX79kq3S1vII4WPmT9BH6Pv42W2j/v1BzjN04K/XZJaf9jWXe9zJT xt04l2UDbf8wJ926UWP119j1yyWi3B3E4W9/RbxneJ76wxeYiYOYDbb7KLl88FK337 aVuH0YF2WePzg== From: Daniel Wagner Date: Tue, 28 Oct 2025 16:26:22 +0100 Subject: [PATCH 3/5] nvmet-fcloop: check all request and response have been processed Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20251028-nvmet-fcloop-fixes-v1-3-765427148613@kernel.org> References: <20251028-nvmet-fcloop-fixes-v1-0-765427148613@kernel.org> In-Reply-To: <20251028-nvmet-fcloop-fixes-v1-0-765427148613@kernel.org> To: Justin Tee , Christoph Hellwig , Keith Busch Cc: James Smart , Jens Axboe , linux-nvme@lists.infradead.org, linux-kernel@vger.kernel.org, Daniel Wagner X-Mailer: b4 0.14.3 When the remoteport or the targetport are removed check that there are no inflight requests or responses. Signed-off-by: Daniel Wagner Reviewed-by: Christoph Hellwig Reviewed-by: Hannes Reinecke --- drivers/nvme/target/fcloop.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/drivers/nvme/target/fcloop.c b/drivers/nvme/target/fcloop.c index 5dffcc5becae..4e429a1ea2bd 100644 --- a/drivers/nvme/target/fcloop.c +++ b/drivers/nvme/target/fcloop.c @@ -1111,8 +1111,10 @@ fcloop_remoteport_delete(struct nvme_fc_remote_port = *remoteport) rport->nport->rport =3D NULL; spin_unlock_irqrestore(&fcloop_lock, flags); =20 - if (put_port) + if (put_port) { + WARN_ON(!list_empty(&rport->ls_list)); fcloop_nport_put(rport->nport); + } } =20 static void @@ -1130,8 +1132,10 @@ fcloop_targetport_delete(struct nvmet_fc_target_port= *targetport) tport->nport->tport =3D NULL; spin_unlock_irqrestore(&fcloop_lock, flags); =20 - if (put_port) + if (put_port) { + WARN_ON(!list_empty(&tport->ls_list)); fcloop_nport_put(tport->nport); + } } =20 #define FCLOOP_HW_QUEUES 4 --=20 2.51.0 From nobody Sun Feb 8 21:06:42 2026 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9E7C03431F2 for ; Tue, 28 Oct 2025 15:26:40 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1761665200; cv=none; b=GPwbqUxb1x5jUZvGyfA/BfNKC0U+SYzYzn1cNGv7pgz1606yMPzHu4UhUzNeKXzLqbTsRDMkSrsBPszbvzMva5KjABrt42Iv27Sa9snJ2Xyrn30x9HSgVX8hy//7tdLmRenu64HPI+J0anLatPQD9nOOUJYDe86v5bYjbzcPp1c= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1761665200; c=relaxed/simple; bh=YGr8oqXsuwQl2oaUuC5Tyt7qh0xLJoY3vVHoY91jBAI=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=G0XfGqtAwP5b00fUZ5G/OpiuAted4J2Y8jfyWZYNur+las47XOKVX1jo2FaJ1so8MCsuQdSeamqegsamSw6kOGWi4hj/tMitGJoEH4jT66UBPfNRgEha0uwzgyeOW7iRyVY6PGtN2ccjHvrGemK74USoXXALyALMeJ/p2o7d0AA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=Y3OzIWXx; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="Y3OzIWXx" Received: by smtp.kernel.org (Postfix) with ESMTPSA id D4A4EC4CEFD; Tue, 28 Oct 2025 15:26:39 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1761665200; bh=YGr8oqXsuwQl2oaUuC5Tyt7qh0xLJoY3vVHoY91jBAI=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=Y3OzIWXxOgFPQG6dh/EqiDS08OFQV3bFSvXHMGOIpuJQ+LHFdaocmoA1on+H8os5o /mMsLpTdkvWKuOg8eXHonN22bgow04jLODZISZqQW+dJ8ywW57/kRrk1GEx7FEdxE9 bQJYob8jGTagkCoULYnM3mbqWMLKcyM98Q6xNA8ApGDUjk3M0kgB+96PQWZ2LUioLf TY8/fslTj4oPF/HjsMYqm7UVXABeRqx1AEbHkMMoKz5sIXxgexvgRjYmp5MREzh1je FbqdBXoed6TvaslrBdQJScMQ2uZUoxnE+Jg6HWoSsUkRLIOBDJXSRG1MhQGhPbH0I5 3uKa4Y/DMhW/w== From: Daniel Wagner Date: Tue, 28 Oct 2025 16:26:23 +0100 Subject: [PATCH 4/5] nvmet-fcloop: remove unused lsdir member. Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20251028-nvmet-fcloop-fixes-v1-4-765427148613@kernel.org> References: <20251028-nvmet-fcloop-fixes-v1-0-765427148613@kernel.org> In-Reply-To: <20251028-nvmet-fcloop-fixes-v1-0-765427148613@kernel.org> To: Justin Tee , Christoph Hellwig , Keith Busch Cc: James Smart , Jens Axboe , linux-nvme@lists.infradead.org, linux-kernel@vger.kernel.org, Daniel Wagner X-Mailer: b4 0.14.3 Nothing is using lsdir member in struct fcloop_lsreq. Signed-off-by: Daniel Wagner Reviewed-by: Christoph Hellwig Reviewed-by: Hannes Reinecke --- drivers/nvme/target/fcloop.c | 1 - 1 file changed, 1 deletion(-) diff --git a/drivers/nvme/target/fcloop.c b/drivers/nvme/target/fcloop.c index 4e429a1ea2bd..c30e9a3e014f 100644 --- a/drivers/nvme/target/fcloop.c +++ b/drivers/nvme/target/fcloop.c @@ -254,7 +254,6 @@ struct fcloop_nport { struct fcloop_lsreq { struct nvmefc_ls_req *lsreq; struct nvmefc_ls_rsp ls_rsp; - int lsdir; /* H2T or T2H */ int status; struct list_head ls_list; /* fcloop_rport->ls_list */ }; --=20 2.51.0 From nobody Sun Feb 8 21:06:42 2026 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3984C30BF75 for ; Tue, 28 Oct 2025 15:26:42 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1761665203; cv=none; b=KNHUzMTLIrTYyJVOeoeGCtW1H1MJNUaE7zDZZTW9kUnusKG9ZfCnqTWoC/vL1TIsWQU6knDQyzoBGyRuX/YFJPk7ZlFuV+EBzE096sL+XQcgXsOIOItqUXyMy/dQ6K16hJlUhapE9fffB7BGwMzq4T/QTlRAA65Gl97G8ZObd7k= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1761665203; c=relaxed/simple; bh=og4RpLkQbHwN8FOYj4/Ae2jn1OJFGZDc8igUI8xWOMY=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=eLlz3rU03yAVRtw72CKkUr5ZAEUYZQ0JvUHrUx0UiVGTzaFb+EHX1lZO2f+Az5ALhqfAzv04KQbjjny+oI19DRvzMTRtL6WF1scqUuBb3iaKadQuBlkOvYy9wrZntzG75DUue0otD5XBEqBuCYUygJDCd6TJ6vAJHkbhRZQadUc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=VMe6PPFD; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="VMe6PPFD" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 77991C4CEF7; Tue, 28 Oct 2025 15:26:42 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1761665202; bh=og4RpLkQbHwN8FOYj4/Ae2jn1OJFGZDc8igUI8xWOMY=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=VMe6PPFDylySqOED17+YvMfnapMzSDc1WEfDcbD/ml3q+KmNrwBDXmvCq7BatsDXy okJyPIfexJrWSbCBiu4AN0dZ4RGPKPwBcerg91Dbns7qi6cC/0YEWAzWo9q8Eq9krZ /65wbFPshhoFg0r4/HcdHbrG5Nl0VHxFp47alG2fKpmtGVcLButFfi+Qd1K3PL6RIo mjbGE+RoiqkLniwCPUqy7Fw7SGijxVFo2wH7n6KUq9TqSysVukOTh/aUwXwEQ6ErvN TeOGgkjxmwRwDBOP2t5UDuTVVVfiNwy4SRlAcY3asqh4veB/u8QHZvDFaKzjYOS128 Xweo7JtwJbXBQ== From: Daniel Wagner Date: Tue, 28 Oct 2025 16:26:24 +0100 Subject: [PATCH 5/5] nvmet-fc: use pr_* print macros instead of dev_* Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20251028-nvmet-fcloop-fixes-v1-5-765427148613@kernel.org> References: <20251028-nvmet-fcloop-fixes-v1-0-765427148613@kernel.org> In-Reply-To: <20251028-nvmet-fcloop-fixes-v1-0-765427148613@kernel.org> To: Justin Tee , Christoph Hellwig , Keith Busch Cc: James Smart , Jens Axboe , linux-nvme@lists.infradead.org, linux-kernel@vger.kernel.org, Daniel Wagner X-Mailer: b4 0.14.3 Many of the nvmet-fc log messages cannot print the device used, because it's not there yet: (NULL device *): {0:0} Association deleted Use the pr_* macros consistently throughout the module and match the output of the nvme-fc module. Using port:association ids are more useful when debugging what's going on, because these match now with the log entries from nvme-fc. Reviewed-by: Christoph Hellwig Reviewed-by: Hannes Reinecke --- drivers/nvme/target/fc.c | 48 +++++++++++++++++++++-----------------------= ---- 1 file changed, 21 insertions(+), 27 deletions(-) diff --git a/drivers/nvme/target/fc.c b/drivers/nvme/target/fc.c index 7d84527d5a43..0d9784004c9b 100644 --- a/drivers/nvme/target/fc.c +++ b/drivers/nvme/target/fc.c @@ -490,8 +490,7 @@ nvmet_fc_xmt_disconnect_assoc(struct nvmet_fc_tgt_assoc= *assoc) sizeof(*discon_rqst) + sizeof(*discon_acc) + tgtport->ops->lsrqst_priv_sz), GFP_KERNEL); if (!lsop) { - dev_info(tgtport->dev, - "{%d:%d} send Disconnect Association failed: ENOMEM\n", + pr_info("{%d:%d}: send Disconnect Association failed: ENOMEM\n", tgtport->fc_target_port.port_num, assoc->a_id); return; } @@ -513,8 +512,7 @@ nvmet_fc_xmt_disconnect_assoc(struct nvmet_fc_tgt_assoc= *assoc) ret =3D nvmet_fc_send_ls_req_async(tgtport, lsop, nvmet_fc_disconnect_assoc_done); if (ret) { - dev_info(tgtport->dev, - "{%d:%d} XMT Disconnect Association failed: %d\n", + pr_info("{%d:%d}: XMT Disconnect Association failed: %d\n", tgtport->fc_target_port.port_num, assoc->a_id, ret); kfree(lsop); } @@ -1187,8 +1185,7 @@ nvmet_fc_target_assoc_free(struct kref *ref) if (oldls) nvmet_fc_xmt_ls_rsp(tgtport, oldls); ida_free(&tgtport->assoc_cnt, assoc->a_id); - dev_info(tgtport->dev, - "{%d:%d} Association freed\n", + pr_info("{%d:%d}: Association freed\n", tgtport->fc_target_port.port_num, assoc->a_id); kfree(assoc); } @@ -1224,8 +1221,7 @@ nvmet_fc_delete_target_assoc(struct nvmet_fc_tgt_asso= c *assoc) flush_workqueue(assoc->queues[i]->work_q); } =20 - dev_info(tgtport->dev, - "{%d:%d} Association deleted\n", + pr_info("{%d:%d}: Association deleted\n", tgtport->fc_target_port.port_num, assoc->a_id); =20 nvmet_fc_tgtport_put(tgtport); @@ -1716,9 +1712,9 @@ nvmet_fc_ls_create_association(struct nvmet_fc_tgtpor= t *tgtport, } =20 if (ret) { - dev_err(tgtport->dev, - "Create Association LS failed: %s\n", - validation_errors[ret]); + pr_err("{%d}: Create Association LS failed: %s\n", + tgtport->fc_target_port.port_num, + validation_errors[ret]); iod->lsrsp->rsplen =3D nvme_fc_format_rjt(acc, sizeof(*acc), rqst->w0.ls_cmd, FCNVME_RJT_RC_LOGIC, @@ -1730,8 +1726,7 @@ nvmet_fc_ls_create_association(struct nvmet_fc_tgtpor= t *tgtport, atomic_set(&queue->connected, 1); queue->sqhd =3D 0; /* best place to init value */ =20 - dev_info(tgtport->dev, - "{%d:%d} Association created\n", + pr_info("{%d:%d}: Association created\n", tgtport->fc_target_port.port_num, iod->assoc->a_id); =20 /* format a response */ @@ -1809,9 +1804,9 @@ nvmet_fc_ls_create_connection(struct nvmet_fc_tgtport= *tgtport, } =20 if (ret) { - dev_err(tgtport->dev, - "Create Connection LS failed: %s\n", - validation_errors[ret]); + pr_err("{%d}: Create Connection LS failed: %s\n", + tgtport->fc_target_port.port_num, + validation_errors[ret]); iod->lsrsp->rsplen =3D nvme_fc_format_rjt(acc, sizeof(*acc), rqst->w0.ls_cmd, (ret =3D=3D VERR_NO_ASSOC) ? @@ -1871,9 +1866,9 @@ nvmet_fc_ls_disconnect(struct nvmet_fc_tgtport *tgtpo= rt, } =20 if (ret || !assoc) { - dev_err(tgtport->dev, - "Disconnect LS failed: %s\n", - validation_errors[ret]); + pr_err("{%d}: Disconnect LS failed: %s\n", + tgtport->fc_target_port.port_num, + validation_errors[ret]); iod->lsrsp->rsplen =3D nvme_fc_format_rjt(acc, sizeof(*acc), rqst->w0.ls_cmd, (ret =3D=3D VERR_NO_ASSOC) ? @@ -1907,8 +1902,7 @@ nvmet_fc_ls_disconnect(struct nvmet_fc_tgtport *tgtpo= rt, spin_unlock_irqrestore(&tgtport->lock, flags); =20 if (oldls) { - dev_info(tgtport->dev, - "{%d:%d} Multiple Disconnect Association LS's " + pr_info("{%d:%d}: Multiple Disconnect Association LS's " "received\n", tgtport->fc_target_port.port_num, assoc->a_id); /* overwrite good response with bogus failure */ @@ -2051,8 +2045,8 @@ nvmet_fc_rcv_ls_req(struct nvmet_fc_target_port *targ= et_port, struct fcnvme_ls_rqst_w0 *w0 =3D (struct fcnvme_ls_rqst_w0 *)lsreqbuf; =20 if (lsreqbuf_len > sizeof(union nvmefc_ls_requests)) { - dev_info(tgtport->dev, - "RCV %s LS failed: payload too large (%d)\n", + pr_info("{%d}: RCV %s LS failed: payload too large (%d)\n", + tgtport->fc_target_port.port_num, (w0->ls_cmd <=3D NVME_FC_LAST_LS_CMD_VALUE) ? nvmefc_ls_names[w0->ls_cmd] : "", lsreqbuf_len); @@ -2060,8 +2054,8 @@ nvmet_fc_rcv_ls_req(struct nvmet_fc_target_port *targ= et_port, } =20 if (!nvmet_fc_tgtport_get(tgtport)) { - dev_info(tgtport->dev, - "RCV %s LS failed: target deleting\n", + pr_info("{%d}: RCV %s LS failed: target deleting\n", + tgtport->fc_target_port.port_num, (w0->ls_cmd <=3D NVME_FC_LAST_LS_CMD_VALUE) ? nvmefc_ls_names[w0->ls_cmd] : ""); return -ESHUTDOWN; @@ -2069,8 +2063,8 @@ nvmet_fc_rcv_ls_req(struct nvmet_fc_target_port *targ= et_port, =20 iod =3D nvmet_fc_alloc_ls_iod(tgtport); if (!iod) { - dev_info(tgtport->dev, - "RCV %s LS failed: context allocation failed\n", + pr_info("{%d}: RCV %s LS failed: context allocation failed\n", + tgtport->fc_target_port.port_num, (w0->ls_cmd <=3D NVME_FC_LAST_LS_CMD_VALUE) ? nvmefc_ls_names[w0->ls_cmd] : ""); nvmet_fc_tgtport_put(tgtport); --=20 2.51.0