ext4: Add new abstraction ext4_map_blocks() underneath ext4_get_blocks()
authorTheodore Ts'o <tytso@mit.edu>
Sun, 16 May 2010 23:00:00 +0000 (19:00 -0400)
committerTheodore Ts'o <tytso@mit.edu>
Sun, 16 May 2010 23:00:00 +0000 (19:00 -0400)
commite35fd6609b2fee54484d520deccb8f18bf7d38f3
tree9b786445602819074f599c282b31bead166e8c03
parent8e48dcfbd7c0892b4cfd064d682cc4c95a29df32
ext4: Add new abstraction ext4_map_blocks() underneath ext4_get_blocks()

Jack up ext4_get_blocks() and add a new function, ext4_map_blocks()
which uses a much smaller structure, struct ext4_map_blocks which is
20 bytes, as opposed to a struct buffer_head, which nearly 5 times
bigger on an x86_64 machine.  By switching things to use
ext4_map_blocks(), we can save stack space by using ext4_map_blocks()
since we can avoid allocating a struct buffer_head on the stack.

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