[PATCH v3 14/18] nvmet-fc: take tgtport reference only once
Christoph Hellwig
hch at lst.de
Thu Mar 20 23:17:28 PDT 2025
On Tue, Mar 18, 2025 at 11:40:08AM +0100, Daniel Wagner wrote:
> The reference counting code can be simplified. Instead taking a tgtport
> refrerence at the beginning of nvmet_fc_alloc_hostport and put it back
> if not a new hostport object is allocated, only take it when a new
> hostport object is allocated.
>
> Signed-off-by: Daniel Wagner <wagi at kernel.org>
> ---
> drivers/nvme/target/fc.c | 24 +++++++++---------------
> 1 file changed, 9 insertions(+), 15 deletions(-)
>
> diff --git a/drivers/nvme/target/fc.c b/drivers/nvme/target/fc.c
> index 8b14947906948c8b4914932837b4ec90921b419d..b2f5934209f9952679dc1235fb7c927818930688 100644
> --- a/drivers/nvme/target/fc.c
> +++ b/drivers/nvme/target/fc.c
> @@ -1030,33 +1030,26 @@ nvmet_fc_alloc_hostport(struct nvmet_fc_tgtport *tgtport, void *hosthandle)
> struct nvmet_fc_hostport *newhost, *match = NULL;
> unsigned long flags;
>
> + /*
> + * A ref on tgtport is being held while executing this function,
> + * thus there is no need to take first one and give it back on
> + * exit.
> + */
I'd move this above the function and shorten it to:
/*
* Caller hpolds a reference on tgtport.
*/
Otherwise looks good:
Reviewed-by: Christoph Hellwig <hch at lst.de>
More information about the Linux-nvme
mailing list