nvmet-fcloop: Remove remote port from list when unlinking
authorDaniel Wagner <dwagner@suse.de>
Mon, 18 Dec 2023 15:30:53 +0000 (16:30 +0100)
committerKeith Busch <kbusch@kernel.org>
Fri, 5 Jan 2024 21:15:40 +0000 (13:15 -0800)
commitf644d21baab34c837d639e9639aa8204dba7f3cf
treede9fd0769fbd80cf210ed0b7770ecd1de0f7eb13
parent0e716cec6fb11a14c220ee17c404b67962e902f7
nvmet-fcloop: Remove remote port from list when unlinking

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 <dwagner@suse.de>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Hannes Reinecke <hare@suse.de>
Signed-off-by: Keith Busch <kbusch@kernel.org>
drivers/nvme/target/fcloop.c