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