From nobody Sun Feb 8 13:45:47 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 44A7C34F48D for ; Thu, 30 Oct 2025 10:05:52 +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=1761818753; cv=none; b=XL3kymEqb/wyDhyFsEWO9cGGM+nZseTiHQ13erT2RFnOeLD7DBmxD8wKZ/9bg4ubu8krEcXdj2oOdS3tW8dNIaFzMShnSau2JbVYculUe+dujZdGmX/m8BXK8gOGZb+3F64cA+WKXFKOOAgSMQY26j1VeXpCGJWowwGfiOmQXBc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1761818753; c=relaxed/simple; bh=SP1ioKSaDdMcidA7eYCAEjoEi4/LMlq8R1no50L2IRg=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=kLWrzasDzq28IHEmXQI6HdDCTKOzp2cPJXcvEUYPRn/oxS5HJ6CmykdLSWUtFNwkwVb3fMxjJhWbhn8saG4Kbozl60PpNhQHZJIxbNLWuOPesi/uNHEpOxezM+GWM8o1ruE1+N4+PEnBLOI48cqZMLdd0/BP+Lsr++3sqjjPSUY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=et4SFdyI; 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="et4SFdyI" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 7862EC4CEFD; Thu, 30 Oct 2025 10:05:52 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1761818752; bh=SP1ioKSaDdMcidA7eYCAEjoEi4/LMlq8R1no50L2IRg=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=et4SFdyIawUd5x6LQxcCM6jCvAN/uXHLEyMWIlaC4VyTGkZRcaPeeDLbkXNfw5dLH Bby/g7oU0w5wQEoOUG0snaFyx65o/GXWYDCwpbEt+muwXO6r55NCBpPxSKzMSMBODn 1wEgn5gz+QowarVYi0wyR2SCXPs8flL52iw38RPCPy2O7pH6yoqxVsyp6kGhOHivJF NeHvL/coZjmUAe+iuVI/UI2gLxfkc7NqnT02tAXO0sBVMVaeelr9f+lAjupUhqdMDZ p3drvSxZksygoVw62F/4rTgcR14aWIUmxkvfzQ3HKFJURvWfpf7MwpfFy4SIFmrzpp JqGJU/wahqrsA== From: Daniel Wagner Date: Thu, 30 Oct 2025 11:05:45 +0100 Subject: [PATCH v2 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: <20251030-nvmet-fcloop-fixes-v2-1-b8d66a322c51@kernel.org> References: <20251030-nvmet-fcloop-fixes-v2-0-b8d66a322c51@kernel.org> In-Reply-To: <20251030-nvmet-fcloop-fixes-v2-0-b8d66a322c51@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. Justin suggested use the safe list iterator variant because nvme_fc_ctrl_put will also modify the rport->list. Cc: Justin Tee Reviewed-by: Christoph Hellwig Signed-off-by: Daniel Wagner --- drivers/nvme/host/fc.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/nvme/host/fc.c b/drivers/nvme/host/fc.c index 03987f497a5b..3ff70e6e8131 100644 --- a/drivers/nvme/host/fc.c +++ b/drivers/nvme/host/fc.c @@ -1468,14 +1468,14 @@ nvme_fc_match_disconn_ls(struct nvme_fc_rport *rpor= t, { struct fcnvme_ls_disconnect_assoc_rqst *rqst =3D &lsop->rqstbuf->rq_dis_assoc; - struct nvme_fc_ctrl *ctrl, *ret =3D NULL; + struct nvme_fc_ctrl *ctrl, *tmp, *ret =3D NULL; struct nvmefc_ls_rcv_op *oldls =3D NULL; u64 association_id =3D be64_to_cpu(rqst->associd.association_id); unsigned long flags; =20 spin_lock_irqsave(&rport->lock, flags); =20 - list_for_each_entry(ctrl, &rport->ctrl_list, ctrl_list) { + list_for_each_entry_safe(ctrl, tmp, &rport->ctrl_list, ctrl_list) { if (!nvme_fc_ctrl_get(ctrl)) continue; spin_lock(&ctrl->lock); @@ -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.1 From nobody Sun Feb 8 13:45:47 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 D92FC350D5A for ; Thu, 30 Oct 2025 10:05:55 +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=1761818755; cv=none; b=t9V+4LnEDU01xpXiGAvXw4c49F3jxazdJMrCPf6npO2e7D7X+JIu3Ondm0rHovMLCtGoaG9bDkWnqX9p2y3U2cPxsM6XCXRGKtdUxpi7fpaUz0wmGWusDRZ3kbcOvxmmVOk5hnPvv1W4kXParFDR5B+0DO//+tVwxWUCR2fnbYg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1761818755; c=relaxed/simple; bh=pD88QTQwhCsd1dD9Fb+TDQoClhSOHeNyLN7H0zQpYAM=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=pNOga1c1kwW1DJdidpypGOvpUzSNDehPfpiP2KTIzIwYjKtdf8s6YDuB9R9hMeT1D1nkg+qJWEO5ovT85YZfsNTBIB1VKsXg/HHd8nQQyLGa4rZ6Ow9MXjUUqVLJpTw6p/xRYL9BtzZ9xeaSVrUKEA7hqjUng+RM4BDfIullmOA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=uNgKP3CL; 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="uNgKP3CL" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 56797C4CEFD; Thu, 30 Oct 2025 10:05:55 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1761818755; bh=pD88QTQwhCsd1dD9Fb+TDQoClhSOHeNyLN7H0zQpYAM=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=uNgKP3CL1kYsUxeqYTrEnq8RP3483/KZhRisETibvx1WZM1//MV+Q6vTCRpDsjsw3 A7LfthB4qyHNZ3WQrux/XIqPxSqz32rNzgt+yukr9r3/rWMiVA39XitblrgFtHaULm wXnjTAxb4/kX7kW0/7H4T/ogGMIAfmnKKp9CrRRNxiVlrWhQJR3SsMHPhvYbFG9IkB VJt5MRaTMlcPfKRZJKfPsLEJv4E8TnhT+bihoBJfF94CwQMap316KxEhWbo6+I2rSJ vdhJ39nKBVQa2lqmnVFDv3a5ipuDXZtMtjl/psErTlzgp5r0ZqT7eqrY3hiF5JcNTN XrE9QuOxMYqhA== From: Daniel Wagner Date: Thu, 30 Oct 2025 11:05:46 +0100 Subject: [PATCH v2 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: <20251030-nvmet-fcloop-fixes-v2-2-b8d66a322c51@kernel.org> References: <20251030-nvmet-fcloop-fixes-v2-0-b8d66a322c51@kernel.org> In-Reply-To: <20251030-nvmet-fcloop-fixes-v2-0-b8d66a322c51@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. Reviewed-by: Christoph Hellwig Signed-off-by: Daniel Wagner --- 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 3ff70e6e8131..b613fc5966a7 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.1 From nobody Sun Feb 8 13:45:47 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 A76A6351FB1 for ; Thu, 30 Oct 2025 10:05:58 +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=1761818758; cv=none; b=bnpxTdFi3d+nrbknJlpNVElOnU8/iFU1zGlJLzGnzyawxUEOh+sJHyA0Ju0QbJ5KLi6c2n4u4RNtyfxq/DttKwqTnW/cGi6Eo4t/R1bm2k5eE/DkRWW00uCtdFEI5hQOBsQTmyuH04lUeABwSNiIvuyWsnIdvTbAWckRNND0lNs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1761818758; c=relaxed/simple; bh=v/bwxwMrPgUrZzVMTssoD2ipJp8loXVDoDEfaEXxUas=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=PjWVB1GMdkce5qTPOfzHUMPoTLMf17b7jyKf4jPFIwpkG/JEPMKhwav5pn6A4Nuo324lOSAn4baygYK7Pic63bAA1SwZTR36jfflj8evBQ3HY1l8NPCfSkGFV4FD2++z4omJ76mguT5cs/uj+vjgCcFKS4zwiQWI7ArZZZAvc8E= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=Vm1ZBE46; 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="Vm1ZBE46" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 2F715C116B1; Thu, 30 Oct 2025 10:05:58 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1761818758; bh=v/bwxwMrPgUrZzVMTssoD2ipJp8loXVDoDEfaEXxUas=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=Vm1ZBE460FFKUGimLHP50dR5K9qwZcte7C31bHO6CkzQrGsy+co0uzHGhmohmHBDs 9/QJBBq/pimwj2Xu/VA65y6IvwIp7uGxfegWUddymSYGIwZEzLJY4tIXUOh6q8KepU n5v1f3qaagsSm3hPoBXmpz1KL/p1Ae0ua6ki4zi52xSEZKu0M7QjLLtsZKT4+zWkGL 87a9Wd5p202LZF9OJGE37BmcWsvuq2ceSn9U1HZh0AOWUGVUxYKG2+bvdWkDGH4HaJ jEYJuFgfIwDNyyS04FPxQcEdUuY0hUwNTCykYnjDoPyFhWMejeuBABODWqM8tAT9+q DXYvupmk7R5aQ== From: Daniel Wagner Date: Thu, 30 Oct 2025 11:05:47 +0100 Subject: [PATCH v2 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: <20251030-nvmet-fcloop-fixes-v2-3-b8d66a322c51@kernel.org> References: <20251030-nvmet-fcloop-fixes-v2-0-b8d66a322c51@kernel.org> In-Reply-To: <20251030-nvmet-fcloop-fixes-v2-0-b8d66a322c51@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. Reviewed-by: Christoph Hellwig Signed-off-by: Daniel Wagner --- 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.1 From nobody Sun Feb 8 13:45:47 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 942C634F468 for ; Thu, 30 Oct 2025 10:06:01 +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=1761818761; cv=none; b=pkQtjkMaRFkFRko83ZL2Ctqjmy7sm0CNMEE2FtmLlhQp7RWXwIWKmbSSwj6JHt/WYy4IF8IutyrRLxt7gLnh31sCQSn3oGjfFEqbt52ataK7sl0YYIqR9EDHAYcn6rqN0E1vUf59vE6y0rTE3bv5KbVhZjrxTZ2Z5yQPFNuWGsw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1761818761; c=relaxed/simple; bh=doY/mfIsT8gI0lwCrmexGQlzegsJ2i3cFbb9dDqKg0k=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=XVJpt2Eb7r5A75oesyXAcHKdex2qTkLFiGkaFU001ho7Ge9B3rssg68JFzx2PLSsQ7jPrrc96eMDP9Fc9njp1ZJp7o8ytlQjhXUv6SIe5HVyAqNVubJyD792dB2QrJXmtOF0ZFV1TcfVoA0q70L9jErYldERUyRR1CTcWSJ2+PE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=n9rDgGzo; 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="n9rDgGzo" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 19C1DC4CEFD; Thu, 30 Oct 2025 10:06:00 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1761818761; bh=doY/mfIsT8gI0lwCrmexGQlzegsJ2i3cFbb9dDqKg0k=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=n9rDgGzoysc8xjHoSAmwuG+VKalr9clgrOp8DxfJG+sU3nYQEwAvnckx9Hcx1M2wR L/wXyJEPq1YJTVOlqT/aFr8B3a39fawhcSqp3TxUSEl5gcKkTQoaniOofzfkYOI4u3 LuAVL6V7gmw9wkhs7JsJVR02/UForRV0xWHvoGqYTB4p5cnUCrFGFqiMybyz11ZGx2 Ii+PG8jXT74KObmsSyMPQkjA4zXKB9nVgMBbz+nOGdsAuSheqk7mvq58ZaMZeF4eMb ZdT5rhfpC3OwSIKkjE/WsipxgPuYU2YU09TUGk4r2XLHOomQmHx8K7ziR2GWKfahc6 GkR6F2spHHyjA== From: Daniel Wagner Date: Thu, 30 Oct 2025 11:05:48 +0100 Subject: [PATCH v2 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: <20251030-nvmet-fcloop-fixes-v2-4-b8d66a322c51@kernel.org> References: <20251030-nvmet-fcloop-fixes-v2-0-b8d66a322c51@kernel.org> In-Reply-To: <20251030-nvmet-fcloop-fixes-v2-0-b8d66a322c51@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. Reviewed-by: Christoph Hellwig Signed-off-by: Daniel Wagner --- 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.1 From nobody Sun Feb 8 13:45:47 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 A742034F468 for ; Thu, 30 Oct 2025 10:06:04 +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=1761818764; cv=none; b=Pnawnqp/tfX7bg0ziVeJqqahUdCofTlct3EjRnkZHlmKp5XMcELjgOnfkcKc+l0WVNG8uk0OQLislczA4OTPD3rZRiwc2Vgd3NGGiHMuD9cGGUfiMU+wGDzGxN31vaHVEer3eAtmnipeux0qpMcC3XsS8KPAhQ+ZPax4AW2fdRM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1761818764; c=relaxed/simple; bh=e0DStP5hUJf7YK1iKoYaQGpA0g5OWWSFDrWkvEoshXE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=iAW9DFoy8ThoU7+iGR12SAkHaI8GmTL+SPbnSMAmD+2cXEXOxumDuBNj4VhH5HjYFogfwyHHfzBvyCTSp0xBXEJzolQuY5U35+OM/0Q+watfSWfcRHKkU0RaCJ72A4XdLFoyxgVjmfHne7wUuGTFeMa1iRqu8M69Pp3CX8mu/00= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=VZMNID5g; 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="VZMNID5g" Received: by smtp.kernel.org (Postfix) with ESMTPSA id CEFF1C4CEF1; Thu, 30 Oct 2025 10:06:03 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1761818764; bh=e0DStP5hUJf7YK1iKoYaQGpA0g5OWWSFDrWkvEoshXE=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=VZMNID5g+7eLLOAqaRxOgc8yU3iJFHExWC4KViArijg1ylTvtjBRFh8cb6lS/Xyr4 ROf9E2tkXQMzyNVzpFe7HHB1p4fn0Fci50sVddLoy8XsD2+H3P+ttBN7qzaTo2Xbtk d1+Ixg4CvwODY5obH02tG1oFaE4S1Ne58HROF6qfgNO0fMhTGIYuFuUmenZzRY7Zqg 7JXUuD2pYhGowE3Mg6GVxgiWRs9+dWYgTf8vGSC1IyAImSWSrp/6vKDDhBIg6qGj2z SgZlsc+wfAsYogFPa/0AHOmg0XSIxAmwhoVTlhxWfodqHsGvu/mUQCp2Eo04kXDwBk vI4n9NvVzU5ig== From: Daniel Wagner Date: Thu, 30 Oct 2025 11:05:49 +0100 Subject: [PATCH v2 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: <20251030-nvmet-fcloop-fixes-v2-5-b8d66a322c51@kernel.org> References: <20251030-nvmet-fcloop-fixes-v2-0-b8d66a322c51@kernel.org> In-Reply-To: <20251030-nvmet-fcloop-fixes-v2-0-b8d66a322c51@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 Signed-off-by: Daniel Wagner --- 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.1