June 25, 2013
6:56 a.m.
On 23 June 2013 17:18, Dibyayan Chakraborty <dib.coolguy@gmail.com> wrote:
Hi, I came by a really weird macro code in linux/jbd.h which is
BUFFER_TRACE(bh,info) do{} while(0).
Please explain the necessity of this.
I'm not familiar with that specific code, but it looks like a "no op" macro. Maybe the definition is the to ensure backwards or forward compatibility for the code that calls the macro , but now it doesn't do anything. For the reason why there is a while(0), instead of just no code there, take a look at this: http://kernelnewbies.org/FAQ/DoWhile0 Hope this helps.