About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog

Documentation / block / request.txt


Based on kernel version 4.16.1. Page generated on 2018-04-09 11:52 EST.

1	
2	struct request documentation
3	
4	Jens Axboe <jens.axboe@oracle.com> 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	struct request_queue *q		DB	Request queue this request belongs to
87	
88	struct request_list *rl		B	Request list this request came from
Hide Line Numbers


About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog