• Ming Lei's avatar
    nvme-loop: kill timeout handler · 663d6fee
    Ming Lei authored
    Firstly it doesn't make sense to handle timeout for loop: 1) for admin
    queue, the request is always completed in code path of queuing IO. 2)
    for normal IO request, the timeout on these IOs have been handled by
    underlying queue already.
    
    Secondly nvme-loop's timeout handler is simply broken, and easy to
    cause issue: 1) no any sync/protection between timeout and normal
    completion, and now it is driver's responsibility to deal with
    that; 2) bad reset implementation, blk_mq_update_nr_hw_queues()
    is called after all NSs's queue is stopped(quiesced), and easy
    to trigger deadlock.
    
    So kill the timeout handler.
    Signed-off-by: default avatarMing Lei <ming.lei@redhat.com>
    Reviewd-by: default avatarKeith Busch <keith.busch@intel.com>
    Reviewed-by: default avatarSagi Grimberg <sagi@grimberg.me>
    Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
    663d6fee
loop.c 17.8 KB