ocfs2: Use ocfs2_rec_clusters in ocfs2_adjust_adjacent_records.

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Linux Kernel Mailing List
Date: Thursday, August 13, 2009 - 11:59 am

Gitweb:     http://git.kernel.org/linus/82e12644cf5227dab15201fbcaf0ca6330ebd70f
Commit:     82e12644cf5227dab15201fbcaf0ca6330ebd70f
Parent:     f7b1aa69be138ad9d7d3f31fa56f4c9407f56b6a
Author:     Tao Ma <tao.ma@oracle.com>
AuthorDate: Thu Jul 23 08:12:58 2009 +0800
Committer:  Joel Becker <joel.becker@oracle.com>
CommitDate: Thu Jul 23 10:58:46 2009 -0700

    ocfs2: Use ocfs2_rec_clusters in ocfs2_adjust_adjacent_records.
    
    In ocfs2_adjust_adjacent_records, we will adjust adjacent records
    according to the extent_list in the lower level. But actually
    the lower level tree will either be a leaf or a branch. If we only
    use ocfs2_is_empty_extent we will meet with some problem if the lower
    tree is a branch (tree_depth > 1). So use !ocfs2_rec_clusters instead.
    And actually only the leaf record can have holes. So add a BUG_ON
    for non-leaf branch.
    
    Signed-off-by: Tao Ma <tao.ma@oracle.com>
    Signed-off-by: Joel Becker <joel.becker@oracle.com>
---
 fs/ocfs2/alloc.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/fs/ocfs2/alloc.c b/fs/ocfs2/alloc.c
index 11085af..f9a3e89 100644
--- a/fs/ocfs2/alloc.c
+++ b/fs/ocfs2/alloc.c
@@ -1914,7 +1914,8 @@ static void ocfs2_adjust_adjacent_records(struct ocfs2_extent_rec *left_rec,
 	 * immediately to their right.
 	 */
 	left_clusters = le32_to_cpu(right_child_el->l_recs[0].e_cpos);
-	if (ocfs2_is_empty_extent(&right_child_el->l_recs[0])) {
+	if (!ocfs2_rec_clusters(right_child_el, &right_child_el->l_recs[0])) {
+		BUG_ON(right_child_el->l_tree_depth);
 		BUG_ON(le16_to_cpu(right_child_el->l_next_free_rec) <= 1);
 		left_clusters = le32_to_cpu(right_child_el->l_recs[1].e_cpos);
 	}
--
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at