]>
Commit | Line | Data |
---|---|---|
1da177e4 LT |
1 | |
2 | struct request documentation | |
3 | ||
4 | Jens Axboe <axboe@suse.de> 27/05/02 | |
5 | ||
6 | 1.0 | |
7 | Index | |
8 | ||
9 | 2.0 Struct request members classification | |
10 | ||
11 | 2.1 struct request members explanation | |
12 | ||
13 | 3.0 | |
14 | ||
15 | ||
16 | 2.0 | |
17 | Short explanation of request members | |
18 | ||
19 | Classification flags: | |
20 | ||
21 | D driver member | |
22 | B block layer member | |
23 | I I/O scheduler member | |
24 | ||
25 | Unless an entry contains a D classification, a device driver must not access | |
26 | this member. Some members may contain D classifications, but should only be | |
27 | access through certain macros or functions (eg ->flags). | |
28 | ||
29 | <linux/blkdev.h> | |
30 | ||
31 | 2.1 | |
32 | Member Flag Comment | |
33 | ------ ---- ------- | |
34 | ||
35 | struct list_head queuelist BI Organization on various internal | |
36 | queues | |
37 | ||
38 | void *elevator_private I I/O scheduler private data | |
39 | ||
40 | unsigned char cmd[16] D Driver can use this for setting up | |
41 | a cdb before execution, see | |
42 | blk_queue_prep_rq | |
43 | ||
44 | unsigned long flags DBI Contains info about data direction, | |
45 | request type, etc. | |
46 | ||
47 | int rq_status D Request status bits | |
48 | ||
49 | kdev_t rq_dev DBI Target device | |
50 | ||
51 | int errors DB Error counts | |
52 | ||
53 | sector_t sector DBI Target location | |
54 | ||
55 | unsigned long hard_nr_sectors B Used to keep sector sane | |
56 | ||
57 | unsigned long nr_sectors DBI Total number of sectors in request | |
58 | ||
59 | unsigned long hard_nr_sectors B Used to keep nr_sectors sane | |
60 | ||
61 | unsigned short nr_phys_segments DB Number of physical scatter gather | |
62 | segments in a request | |
63 | ||
64 | unsigned short nr_hw_segments DB Number of hardware scatter gather | |
65 | segments in a request | |
66 | ||
67 | unsigned int current_nr_sectors DB Number of sectors in first segment | |
68 | of request | |
69 | ||
70 | unsigned int hard_cur_sectors B Used to keep current_nr_sectors sane | |
71 | ||
72 | int tag DB TCQ tag, if assigned | |
73 | ||
74 | void *special D Free to be used by driver | |
75 | ||
76 | char *buffer D Map of first segment, also see | |
77 | section on bouncing SECTION | |
78 | ||
79 | struct completion *waiting D Can be used by driver to get signalled | |
80 | on request completion | |
81 | ||
82 | struct bio *bio DBI First bio in request | |
83 | ||
84 | struct bio *biotail DBI Last bio in request | |
85 | ||
86 | request_queue_t *q DB Request queue this request belongs to | |
87 | ||
88 | struct request_list *rl B Request list this request came from |