• Ming Lei's avatar
    nvme-rdma: fix potential unbalanced freeze & unfreeze · 29b434d1
    Ming Lei authored
    Move start_freeze into nvme_rdma_configure_io_queues(), and there is
    at least two benefits:
    
    1) fix unbalanced freeze and unfreeze, since re-connection work may
    fail or be broken by removal
    
    2) IO during error recovery can be failfast quickly because nvme fabrics
    unquiesces queues after teardown.
    
    One side-effect is that !mpath request may timeout during connecting
    because of queue topo change, but that looks not one big deal:
    
    1) same problem exists with current code base
    
    2) compared with !mpath, mpath use case is dominant
    
    Fixes: 9f98772b ("nvme-rdma: fix controller reset hang during traffic")
    Cc: stable@vger.kernel.org
    Signed-off-by: default avatarMing Lei <ming.lei@redhat.com>
    Tested-by: default avatarYi Zhang <yi.zhang@redhat.com>
    Reviewed-by: default avatarSagi Grimberg <sagi@grimberg.me>
    Signed-off-by: default avatarKeith Busch <kbusch@kernel.org>
    29b434d1
rdma.c 61.4 KB