Re: [PATCH] simplify b_inode usage

Andrew Morton (akpm@zip.com.au)
Tue, 13 Aug 2002 14:10:10 -0700


Christoph Hellwig wrote:
>
> Current the b_inode of struct buffer_head is a pointer to an inode, but
> it only always used as bool value. This patch changes it to an simple
> int (yes, I know some people have ideas for a flag that uses less space,
> but that can be easily done ontop of this cleanup). The advantage is
> that we don't have to pass in the inode into buffer_insert_inode_queue/
> buffer_insert_inode_data_queue and can merge them into a more general
> buffer_insert_list, with inline wrappers around it. reiserfs can now
> use buffer_insert_list directly and embedd a simple list_head instead
> of a full static inode into it's journal.
>
> A similar cleanup has already been done in early 2.5, but the b_inode
> flag is completly gone there now.
>

Current ext3 CVS (ie: 2.4.20 candidate code) is using b_inode
as an inode *. Stephen has acked a proposal to stop doing that,
but let's double check with him first.

Also, Joe Thornber needs to add another pointer to struct buffer_head
for LVM2 reasons. If we collapse b_inode into a b_flags bit then
Joe gets his pointer for free (bh stays at 48 bytes on ia32).

So I'd suggest you just go ahead and do it that way. (I had a patch
for that but seem to have misplaced it).
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/