[<prev] [next>] [day] [month] [year] [list]
Message-ID: <tencent_792AA99D272B4F9025DC5D30@qq.com>
Date: Tue, 30 Apr 2013 19:24:33 +0800
From: "remaper" <yp.fangdong@...il.com>
To: "linux-fsdevel"
<linux-fsdevel@...r.kernel.org>,
"linux-kernel" <linux-kernel@...r.kernel.org>
Subject: the rq_timed_out_fn for block device(hd)
my kernel version: linux 2.6.34.14
in block/blk-core.c file, blk_alloc_queue_node() function:
struct request_queue *blk_alloc_queue_node(gfp_t gfp_mask, int node_id)
{
...
setup_timer(&q->timeout, blk_rq_timed_out_timer, (unsigned long) q);
...
}
when bio request timeout, execute blk_rq_timed_out_timer() function, for each req in q->request_list, execute blk_rq_timed_out() function, this two function are defined in blk-timeout.c file:
static void blk_rq_timed_out(struct request *req)
{
...
ret = q->rq_timed_out_fn(req);
switch (ret) {
...
}
}
i can't find where the ->rq_timed_out_fn defined for block device, such as drivers/block/hd.c
but i can find that the ->rq_timed_out_fn for scsi device, in drivers/scsi/scsi_transport_fc.c, line 3965
Powered by blists - more mailing lists