ocfs2: Abstract extent split process.
commit555936bfcb1af26c6919d6cedb83710bb03d4322
authorTao Ma <tao.ma@oracle.com>
Tue, 18 Aug 2009 03:22:21 +0000 (18 11:22 +0800)
committerJoel Becker <joel.becker@oracle.com>
Wed, 23 Sep 2009 03:09:31 +0000 (22 20:09 -0700)
tree8d63ff0c4a0ff9587cb84dcd8ca9333c94d34ff8
parent853a3a1439b18d5a70ada2cb3fcd468e70b7d095
ocfs2: Abstract extent split process.

ocfs2_mark_extent_written actually does the following things:
1. check the parameters.
2. initialize the left_path and split_rec.
3. call __ocfs2_mark_extent_written. it will do:
   1) check the flags of unwritten
   2) do the real split work.
The whole process is packed tightly somehow. So this patch
will abstract 2 different functions so that future b-tree
operation can work with it.

1. __ocfs2_split_extent will accept path and split_rec and do
  the real split work.
2. ocfs2_change_extent_flag will accept a new flag and initialize
   path and split_rec.

So now ocfs2_mark_extent_written will do:
1. check the parameters.
2. call ocfs2_change_extent_flag.
   1) initalize the left_path and split_rec.
   2) check whether the new flags conflict with the old one.
   3) call __ocfs2_split_extent to do the split.

Signed-off-by: Tao Ma <tao.ma@oracle.com>
fs/ocfs2/alloc.c