• James Smart's avatar
    nvmet-fc: cleanup nvmet add_port/remove_port · 9ce1f2e1
    James Smart authored
    The current fc transport add_port routine validates that there is a
    matching port to the target port config. It then takes a reference
    on the targetport. The del_port removes the reference.
    
    Unfortunately, if the LLDD undergoes a hw reset or driver unload and
    wants to unreg the targetport, due to the reference, the targetport
    effectively can't be removed. It requires the admin to remove the
    port from the nvmet config first, which calls the del_port.
    Note: it appears nvmetcli clear skips over the del_port call (I'm
    not attempting to change that).
    
    There's no real reason to take the reference. With FC, there is nothing
    to enable or disable as the presence of the FC targetport implicitly
    means its enabled, and removal of the targtport means its disabled.
    
    Change add_port to simply validate and change remove_port to a noop.
    No references are taken on the targetport.
    Signed-off-by: default avatarJames Smart <james.smart@broadcom.com>
    Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
    9ce1f2e1
fc.c 66.6 KB