Re: [PATCH 0/6] jbd cleanup

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Akinobu Mita <[email protected]> wrote:
>
> On Fri, Sep 09, 2005 at 02:15:22AM -0700, Andrew Morton wrote:
> > Akinobu Mita <[email protected]> wrote:
> > >
> > > The following 6 patches cleanup the jbd code and kill about 200 lines. 
> > >
> > 
> > Thanks, but I'm not inclined to apply them.
> > 
> > a) Maybe 70-80% of the Linux world uses this filesystem.  We need to be
> >    very cautious in making changes to it.
> 
> And we need many eyeballs.

True.  And the only way to really learn code is to make changes to it.

> (I've tried to understand how the jbd works several times.
>  But I always failed.)

It's very hard to reverse engineer the high-level design concepts from the
implementation.  And the design concepts in JBD are really complex, which
is a problem fo us.

When I first had to learn the thing 4-5 years back I sat down for a solid
week and wrote a 40-odd page how-it-works document for myself, just to
force it into my head.  It was probably about 50% accurate, but it was a
useful exercise.

> About the debuggability of list_heads, how about adding the kind of
> the following gdb macros in .gdbinit?
> 
> ---
> 
> define list_entry
> 	set $ptr=$arg0
> 	p ($arg1 *)((char *)$ptr - (size_t) &(($arg1 *)0)->$arg2)
> end
> 
> define list_entry_s
> 	set $ptr=$arg0
> 	p (struct $arg1 *)((char *)$ptr - (size_t) &((struct $arg1 *)0)->$arg2)
> end
> 
> define to_journal_head
> 	list_entry_s $arg0 journal_head b_list
> end

Here's mine ;)

# list_entry list type member
define list_entry
	set $off = (int)&(((struct $arg1 *)0)->$arg2)
	set $addr = (int)$arg0
	set $res = $addr - $off
	printf "0x%x\n", (struct $arg1 *)$res
end

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]
  Powered by Linux