* Where are these buffer_xxx macros/fucntion defined? @ 2013-07-09 2:21 Kumar amit mehta 2013-07-09 8:21 ` Anand Moon 0 siblings, 1 reply; 3+ messages in thread From: Kumar amit mehta @ 2013-07-09 2:21 UTC (permalink / raw) To: kernelnewbies 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 ^ permalink raw reply [flat|nested] 3+ messages in thread
* Where are these buffer_xxx macros/fucntion defined? 2013-07-09 2:21 Where are these buffer_xxx macros/fucntion defined? Kumar amit mehta @ 2013-07-09 8:21 ` Anand Moon 2013-07-09 3:12 ` Kumar amit mehta 0 siblings, 1 reply; 3+ messages in thread From: Anand Moon @ 2013-07-09 8:21 UTC (permalink / raw) To: kernelnewbies 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@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 ^ permalink raw reply [flat|nested] 3+ messages in thread
* Where are these buffer_xxx macros/fucntion defined? 2013-07-09 8:21 ` Anand Moon @ 2013-07-09 3:12 ` Kumar amit mehta 0 siblings, 0 replies; 3+ messages in thread From: Kumar amit mehta @ 2013-07-09 3:12 UTC (permalink / raw) To: kernelnewbies On Tue, Jul 09, 2013 at 01:21:42AM -0700, Anand Moon wrote: > 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. Thank you Anand. ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2013-07-09 8:21 UTC | newest] Thread overview: 3+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2013-07-09 2:21 Where are these buffer_xxx macros/fucntion defined? Kumar amit mehta 2013-07-09 8:21 ` Anand Moon 2013-07-09 3:12 ` Kumar amit mehta
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.