Re: The CURRENT macro

Jonathan Corbet
2002-01-03T21:49:00Z

> Edition), Chatper 12

Alessandro and...um...some other guy...:)

> he said that "By accessing the
> fields in the request structure, usually by way of
> CURRENT" and "CURRENT is just a pointer into
> blk_dev[MAJOR_NR].request_queue". I know CURRENT is
> just a macro. Where can I find the definition of this
> macro?

A little grepping in the source would give you the answer there. It's in
.../include/linux/blk.h.

> I just don't know how to get the struct request from
> the request_queue(a request_queue_t struct). CURRENT
> points to which field in the
> blk_dev[MAJOR_NR].request_queue? Thank you very much.

CURRENT is one way. There's also functions like blkdev_entry_next_request
(also described in that chapter) that will pull a request off the queue for
you, if that's what you need.

Note that all this stuff has changed quite a bit in 2.5.

jon

Jonathan Corbet
Executive editor, LWN.net
corbet@lwn.net