• M
    nbd: Remove signal usage · 23272a67
    Markus Pargmann 提交于
    As discussed on the mailing list, the usage of signals for timeout
    handling has a lot of potential issues. The nbd driver used for some
    time signals for timeouts. These signals where able to get the threads
    out of the blocking socket operations.
    
    This patch removes all signal usage and uses a socket shutdown instead.
    The socket descriptor itself is cleared later when the whole nbd device
    is closed.
    
    The tasks_lock is removed as we do not depend on this anymore. Instead
    a new lock for the socket is introduced so we can safely work with the
    socket in the timeout handler outside of the two main threads.
    
    Cc: Oleg Nesterov <oleg@redhat.com>
    Cc: Christoph Hellwig <hch@infradead.org>
    Signed-off-by: NMarkus Pargmann <mpa@pengutronix.de>
    Reviewed-by: NChristoph Hellwig <hch@lst.de>
    23272a67
nbd.c 24.5 KB