From mboxrd@z Thu Jan 1 00:00:00 1970 From: gmate.amit@gmail.com (Kumar amit mehta) Date: Mon, 8 Jul 2013 23:12:55 -0400 Subject: Where are these buffer_xxx macros/fucntion defined? In-Reply-To: <1373358102.34107.YahooMailNeo@web122305.mail.ne1.yahoo.com> References: <20130709022143.GA2951@gmail.com> <1373358102.34107.YahooMailNeo@web122305.mail.ne1.yahoo.com> Message-ID: <20130709031255.GB2951@gmail.com> To: kernelnewbies@lists.kernelnewbies.org List-Id: kernelnewbies.lists.kernelnewbies.org 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.