ext4: Save stack space by removing fake buffer heads
authorTheodore Ts'o <tytso@mit.edu>
Mon, 23 Feb 2009 11:46:01 +0000 (06:46 -0500)
committerTheodore Ts'o <tytso@mit.edu>
Mon, 23 Feb 2009 11:46:01 +0000 (06:46 -0500)
commit8dc207c0e7a259e7122ddfaf56b8bbbc3c92d685
tree68f3cfcf4d2f55c3e7fd8128b30c80b6d54679b1
parented5bde0bf8995d7d8c0b5a9c33e624a945f333ef
ext4: Save stack space by removing fake buffer heads

Struct mpage_da_data and mpage_add_bh_to_extent() use a fake struct
buffer_head which is 104 bytes on an x86_64 system, but only use 24
bytes of the structure.  On systems that use a spinlock for atomic_t,
the stack savings will be even greater.

It turns out that using a fake struct buffer_head doesn't even save
that much code, and it makes the code more confusing since it's not
used as a "real" buffer head.  So just store pass b_size and b_state
in mpage_add_bh_to_extent(), and store b_size, b_state, and b_block_nr
in the mpage_da_data structure.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
fs/ext4/inode.c