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
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 <[email protected]>
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
Quoted 33 lines · Anand Moon
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 ab_statebit.
?*/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)
Quoted 1 line
These function get expanded before we compile the kernel.
Thank you Anand.