The old extent merging code down underneath "ocfs2_mark_extent_written()"
can't merge extents between leaf blocks. This patch resolve this.
So that a large unwritten extent which has been split up with a bunch of
writes can be merged together once all unwritten regions have been written to.

Modification from V1 to V2:
1. Add more comments for some functions which is more complicated than before.
2. move the journal_access() calls to a better place so that we may detect its
   error before we do the real modification to some extent blocks.
3. Using l_next_free_rec instead of l_count to index the extent record array so
   that it's more consistent with other codes.
4. Delete the empty extent block during ocfs2_merge_rec_left when it is needed
   instead of leaving it to ocfs2_rotate_tree_left.
5. Stick to one merge mechanism in CONTIG_LEFTRIGHT. Right merge is always the
   first instead of left one.

_______________________________________________
Ocfs2-devel mailing list
Ocfs2-devel@oss.oracle.com
http://oss.oracle.com/mailman/listinfo/ocfs2-devel

Reply via email to