X-Git-Url: http://ftp.safe.ca/?a=blobdiff_plain;f=block%2Fblk-softirq.c;h=ee9c21602228e0dcb1b6ab8adf6909dae4adc2fd;hb=a6151c3a5c8e1ff5a28450bc8d6a99a2a0add0a7;hp=7ab344afb16f8e26d7cd2fed856ebb4c62202d55;hpb=242f9dcb8ba6f68fcd217a119a7648a4f69290e9;p=safe%2Fjmp%2Flinux-2.6 diff --git a/block/blk-softirq.c b/block/blk-softirq.c index 7ab344a..ee9c216 100644 --- a/block/blk-softirq.c +++ b/block/blk-softirq.c @@ -64,7 +64,7 @@ static int raise_blk_irq(int cpu, struct request *rq) data->info = rq; data->flags = 0; - __smp_call_function_single(cpu, data); + __smp_call_function_single(cpu, data, 0); return 0; } @@ -154,12 +154,14 @@ do_local: **/ void blk_complete_request(struct request *req) { + if (unlikely(blk_should_fake_timeout(req->q))) + return; if (!blk_mark_rq_complete(req)) __blk_complete_request(req); } EXPORT_SYMBOL(blk_complete_request); -__init int blk_softirq_init(void) +static __init int blk_softirq_init(void) { int i;