Markus Pargmann
23272a6754
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>
2016-02-05 08:52:25 +01:00
..
aoe
wrappers for ->i_mutex access
2016-01-22 18:04:28 -05:00
drbd
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
2016-01-23 12:24:56 -08:00
mtip32xx
Merge branch 'for-4.5/drivers' of git://git.kernel.dk/linux-block
2016-01-21 18:19:38 -08:00
paride
mm, page_alloc: rename __GFP_WAIT to __GFP_RECLAIM
2015-11-06 17:50:42 -08:00
rsxx
rsxx: don't open-code memdup_user()
2016-01-06 08:25:24 -05:00
xen-blkback
Merge branch 'for-4.5/drivers' of git://git.kernel.dk/linux-block
2016-01-21 18:19:38 -08:00
zram
zram: don't call idr_remove() from zram_remove()
2016-01-15 17:56:32 -08:00
amiflop.c
ataflop.c
brd.c
mm, dax, pmem: introduce pfn_t
2016-01-15 17:56:32 -08:00
cciss.c
SCSI misc on 20160113
2016-01-13 19:37:36 -08:00
cciss.h
cciss_cmd.h
cciss_scsi.c
scsi: Do not set cmd_per_lun to 1 in the host template
2015-05-31 18:06:28 -07:00
cciss_scsi.h
cpqarray.c
cpqarray.h
cryptoloop.c
DAC960.c
DAC960.h
floppy.c
floppy: make local variable non-static
2015-12-08 15:15:32 +01:00
hd.c
ida_cmd.h
ida_ioctl.h
Kconfig
nvme: move to a new drivers/nvme/host directory
2015-10-09 10:40:37 -06:00
loop.c
Merge branch 'for-4.4/core' into for-4.4/drivers
2015-10-09 10:40:29 -06:00
loop.h
block: loop: support DIO & AIO
2015-09-23 11:01:16 -06:00
Makefile
nvme: move to a new drivers/nvme/host directory
2015-10-09 10:40:37 -06:00
mg_disk.c
nbd.c
nbd: Remove signal usage
2016-02-05 08:52:25 +01:00
null_blk.c
Merge branch 'for-4.5/lightnvm' of git://git.kernel.dk/linux-block
2016-01-21 19:01:55 -08:00
osdblk.c
mm, page_alloc: distinguish between being unable to sleep, unwilling to sleep and avoiding waking kswapd
2015-11-06 17:50:42 -08:00
pktcdvd.c
Merge branch 'for-4.4/io-poll' of git://git.kernel.dk/linux-block
2015-11-10 17:23:49 -08:00
ps3disk.c
ps3vram.c
block: change ->make_request_fn() and users to return a queue cookie
2015-11-07 10:40:46 -07:00
rbd.c
rbd: delete an unnecessary check before rbd_dev_destroy()
2016-01-21 19:36:07 +01:00
rbd_types.h
skd_main.c
block: have drivers use blk_queue_max_discard_sectors()
2015-07-17 08:41:53 -06:00
skd_s1120.h
smart1,2.h
sunvdc.c
swim.c
swim3.c
swim_asm.S
sx8.c
sx8: use real time for the command seconds
2015-12-23 08:42:59 -07:00
umem.c
block: change ->make_request_fn() and users to return a queue cookie
2015-11-07 10:40:46 -07:00
umem.h
virtio_blk.c
blk-mq: fix racy updates of rq->errors
2015-10-01 10:10:55 +02:00
xen-blkfront.c
xen/blkfront: Fix crash if backend doesn't follow the right states.
2016-01-04 12:21:26 -05:00
xsysace.c
z2ram.c