Where are these buffer_xxx macros/fucntion defined?

Kumar amit mehta gmate.amit at gmail.com
Mon Jul 8 23:12:55 EDT 2013


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. 



More information about the Kernelnewbies mailing list