alistair23-linux/block
Hannes Reinecke 17d5c8ca75 block: fix intermittent dm timeout based oops
Very rarely under stress testing of dm, oopses are occuring as
something tampers with an old stack frame.  This has been traced back
to blk_abort_queue() leaving a timeout_list pointing to the stack.
The reason is that sometimes blk_abort_request() won't delete the
timer (if the request is marked as complete but before the timer has
been removed, a small race window).  Fix this by splicing back from
the ususally empty list to the q->timeout_list.

Signed-off-by: Hannes Reinecke <hare@suse.de>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
2009-04-24 08:54:21 +02:00
..
as-iosched.c as-iosched: get rid of private REQ_SYNC/REQ_ASYNC defines 2009-04-15 08:28:10 +02:00
blk-barrier.c block: Remove code handling bio_alloc failure with __GFP_WAIT 2009-04-15 12:10:12 +02:00
blk-core.c block: simplify I/O stat accounting 2009-04-24 08:54:21 +02:00
blk-exec.c Add some block/ source files to the kernel-api docbook. Fix kernel-doc notation in them as needed. Fix changed function parameter names. Fix typos/spellos. In comments, change REQ_SPECIAL to REQ_TYPE_SPECIAL and REQ_BLOCK_PC to REQ_TYPE_BLOCK_PC. 2008-10-09 08:56:03 +02:00
blk-integrity.c block: Allow empty integrity profile 2009-01-30 12:34:36 +01:00
blk-ioc.c cfq-iosched: fix RCU race in the cfq io_context destructor handling 2008-05-07 09:28:57 +02:00
blk-map.c [SCSI] block: make blk_rq_map_user take a NULL user-space buffer for WRITE 2009-01-02 11:10:35 -06:00
blk-merge.c block: simplify I/O stat accounting 2009-04-24 08:54:21 +02:00
blk-settings.c block: fix queue bounce limit setting 2009-04-22 08:35:09 +02:00
blk-softirq.c generic-ipi: remove CSD_FLAG_WAIT 2009-02-25 14:13:44 +01:00
blk-sysfs.c block: simplify I/O stat accounting 2009-04-24 08:54:21 +02:00
blk-tag.c block/blk-tag.c: cleanup kernel-doc 2008-12-29 08:28:43 +01:00
blk-timeout.c block: fix intermittent dm timeout based oops 2009-04-24 08:54:21 +02:00
blk.h block: simplify I/O stat accounting 2009-04-24 08:54:21 +02:00
bsg.c bsg: Remove bogus check against request_queue->max_sectors 2009-03-26 11:01:25 +01:00
cfq-iosched.c cfq-iosched: use the default seek distance when there aren't enough seek samples 2009-04-22 08:35:11 +02:00
cmd-filter.c [SCSI] Make scsi.h independent of the rest of the scsi includes 2009-03-12 12:58:13 -05:00
compat_ioctl.c block: don't take lock on changing ra_pages 2008-12-29 08:28:43 +01:00
deadline-iosched.c block: get rid of elevator_t typedef 2008-12-29 08:29:50 +01:00
elevator.c block: fix bad spelling of quiesce 2009-04-15 08:28:09 +02:00
genhd.c block: include empty disks in /proc/diskstats 2009-04-22 08:35:10 +02:00
ioctl.c block: Remove code handling bio_alloc failure with __GFP_WAIT 2009-04-15 12:10:12 +02:00
Kconfig tracing/blktrace: move the tracing file to kernel/trace 2009-02-09 10:51:02 +01:00
Kconfig.iosched
Makefile tracing/blktrace: move the tracing file to kernel/trace 2009-02-09 10:51:02 +01:00
noop-iosched.c block: get rid of elevator_t typedef 2008-12-29 08:29:50 +01:00
scsi_ioctl.c block: fix SG_IO vector request data length handling 2009-04-22 08:35:09 +02:00