nilfs2: remove bmap pointer operations
authorRyusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
Sat, 23 May 2009 18:25:44 +0000 (03:25 +0900)
committerRyusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
Wed, 10 Jun 2009 14:41:10 +0000 (23:41 +0900)
commitd4b961576df2769b936bd967b01e8c607c3c9ad8
tree3d5d31cb7b4ba31a5b8232d0cd0edac2cf368fae
parent3033342a0b76048e32ce1faebfa85cf8f1aa93b5
nilfs2: remove bmap pointer operations

Previously, the bmap codes of nilfs used three types of function
tables.  The abuse of indirect function calls decreased source
readability and suffered many indirect jumps which would confuse
branch prediction of processors.

This eliminates one type of the function tables,
nilfs_bmap_ptr_operations, which was used to dispatch low level
pointer operations of the nilfs bmap.

This adds a new integer variable "b_ptr_type" to nilfs_bmap struct,
and uses the value to select the pointer operations.

Signed-off-by: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
fs/nilfs2/bmap.c
fs/nilfs2/bmap.h
fs/nilfs2/btree.c
fs/nilfs2/direct.c