Where are these buffer_xxx macros/fucntion defined?
Anand Moon
moon.linux at yahoo.com
Tue Jul 9 04:21:42 EDT 2013
Hi Kumar Amit,
These function are define in
http://lxr.linux.no/linux+v3.10/include/linux/buffer_head.h
The ## (double number sign) operator concatenates two tokens in a macro invocation (text and/or arguments) given in a macro definition
/*
* Emit the buffer bitops functions. Note that there are also functions
* of the form "mark_buffer_foo()". These are higher-level functions which
* do something in addition to setting a b_state bit.
*/
BUFFER_FNS(Uptodate, uptodate)
BUFFER_FNS(Dirty, dirty)
TAS_BUFFER_FNS(Dirty, dirty)
BUFFER_FNS(Lock, locked)
BUFFER_FNS(Req, req)
TAS_BUFFER_FNS(Req, req)
BUFFER_FNS(Mapped, mapped)
BUFFER_FNS(New, new)
BUFFER_FNS(Async_Read, async_read)
BUFFER_FNS(Async_Write, async_write)
BUFFER_FNS(Delay, delay)
BUFFER_FNS(Boundary, boundary)
BUFFER_FNS(Write_EIO, write_io_error)
BUFFER_FNS(Unwritten, unwritten)
BUFFER_FNS(Meta, meta)
BUFFER_FNS(Prio, prio)
These function get expanded before we compile the kernel.
-Anand Moon
________________________________
From: Kumar amit mehta <gmate.amit at gmail.com>
To: kernelnewbies at kernelnewbies.org
Sent: Tuesday, July 9, 2013 7:51 AM
Subject: Where are these buffer_xxx macros/fucntion defined?
Hi,
I see that a lot of FS code is using buffer_invalidate(), buffer_req()
etc, but I could not find the definition of these anywhere in the tree.
What am i missing? For example, see ext3 code using buffer_invalidate()
here[1].
For building cscope and tags database, I invoke the following command
from the top of the tree:
$ make cscope tags
[1] http://lxr.linux.no/#linux+v3.10/fs/ext3/namei.c#L926
Thanks,
Amit
_______________________________________________
Kernelnewbies mailing list
Kernelnewbies at kernelnewbies.org
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20130709/e93753e4/attachment.html
More information about the Kernelnewbies
mailing list