]> git.baikalelectronics.ru Git - kernel.git/commit
nbd: Remove signal usage
authorMarkus Pargmann <mpa@pengutronix.de>
Thu, 29 Oct 2015 10:51:16 +0000 (11:51 +0100)
committerMarkus Pargmann <mpa@pengutronix.de>
Fri, 5 Feb 2016 07:52:25 +0000 (08:52 +0100)
commit82bc1b36a43879e6cae8a726eb03011c7d872ae3
treee60250087310c8e4da6476e888cdfad0961daa85
parent7929e3317193b3865167fd9117a3b6711fd5f901
nbd: Remove signal usage

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: Markus Pargmann <mpa@pengutronix.de>
Reviewed-by: Christoph Hellwig <hch@lst.de>
drivers/block/nbd.c