lkml.org 
[lkml]   [2013]   [Apr]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Subjectthe rq_timed_out_fn for block device(hd)
    Date
    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
    \
     
     \ /
      Last update: 2013-04-30 14:01    [W:2.348 / U:0.436 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site