diff options
Diffstat (limited to 'fs/reiserfs/ibalance.c')
| -rw-r--r-- | fs/reiserfs/ibalance.c | 273 | 
1 files changed, 172 insertions, 101 deletions
diff --git a/fs/reiserfs/ibalance.c b/fs/reiserfs/ibalance.c index 2074fd95046..73231b1ebdb 100644 --- a/fs/reiserfs/ibalance.c +++ b/fs/reiserfs/ibalance.c @@ -5,14 +5,17 @@  #include <asm/uaccess.h>  #include <linux/string.h>  #include <linux/time.h> -#include <linux/reiserfs_fs.h> +#include "reiserfs.h"  #include <linux/buffer_head.h>  /* this is one and only function that is used outside (do_balance.c) */  int balance_internal(struct tree_balance *,  		     int, int, struct item_head *, struct buffer_head **); -/* modes of internal_shift_left, internal_shift_right and internal_insert_childs */ +/* + * modes of internal_shift_left, internal_shift_right and + * internal_insert_childs + */  #define INTERNAL_SHIFT_FROM_S_TO_L 0  #define INTERNAL_SHIFT_FROM_R_TO_S 1  #define INTERNAL_SHIFT_FROM_L_TO_S 2 @@ -32,7 +35,9 @@ static void internal_define_dest_src_infos(int shift_mode,  	memset(src_bi, 0, sizeof(struct buffer_info));  	/* define dest, src, dest parent, dest position */  	switch (shift_mode) { -	case INTERNAL_SHIFT_FROM_S_TO_L:	/* used in internal_shift_left */ + +	/* used in internal_shift_left */ +	case INTERNAL_SHIFT_FROM_S_TO_L:  		src_bi->tb = tb;  		src_bi->bi_bh = PATH_H_PBUFFER(tb->tb_path, h);  		src_bi->bi_parent = PATH_H_PPARENT(tb->tb_path, h); @@ -52,12 +57,14 @@ static void internal_define_dest_src_infos(int shift_mode,  		dest_bi->tb = tb;  		dest_bi->bi_bh = PATH_H_PBUFFER(tb->tb_path, h);  		dest_bi->bi_parent = PATH_H_PPARENT(tb->tb_path, h); -		dest_bi->bi_position = PATH_H_POSITION(tb->tb_path, h + 1);	/* dest position is analog of dest->b_item_order */ +		/* dest position is analog of dest->b_item_order */ +		dest_bi->bi_position = PATH_H_POSITION(tb->tb_path, h + 1);  		*d_key = tb->lkey[h];  		*cf = tb->CFL[h];  		break; -	case INTERNAL_SHIFT_FROM_R_TO_S:	/* used in internal_shift_left */ +	/* used in internal_shift_left */ +	case INTERNAL_SHIFT_FROM_R_TO_S:  		src_bi->tb = tb;  		src_bi->bi_bh = tb->R[h];  		src_bi->bi_parent = tb->FR[h]; @@ -111,7 +118,8 @@ static void internal_define_dest_src_infos(int shift_mode,  	}  } -/* Insert count node pointers into buffer cur before position to + 1. +/* + * Insert count node pointers into buffer cur before position to + 1.   * Insert count items into buffer cur before position to.   * Items and node pointers are specified by inserted and bh respectively.   */ @@ -146,14 +154,14 @@ static void internal_insert_childs(struct buffer_info *cur_bi,  	/* copy to_be_insert disk children */  	for (i = 0; i < count; i++) { -		put_dc_size(&(new_dc[i]), +		put_dc_size(&new_dc[i],  			    MAX_CHILD_SIZE(bh[i]) - B_FREE_SPACE(bh[i])); -		put_dc_block_number(&(new_dc[i]), bh[i]->b_blocknr); +		put_dc_block_number(&new_dc[i], bh[i]->b_blocknr);  	}  	memcpy(dc, new_dc, DC_SIZE * count);  	/* prepare space for count items  */ -	ih = B_N_PDELIM_KEY(cur, ((to == -1) ? 0 : to)); +	ih = internal_key(cur, ((to == -1) ? 0 : to));  	memmove(ih + count, ih,  		(nr - to) * KEY_SIZE + (nr + 1 + count) * DC_SIZE); @@ -190,8 +198,10 @@ static void internal_insert_childs(struct buffer_info *cur_bi,  } -/* Delete del_num items and node pointers from buffer cur starting from * - * the first_i'th item and first_p'th pointers respectively.		*/ +/* + * Delete del_num items and node pointers from buffer cur starting from + * the first_i'th item and first_p'th pointers respectively. + */  static void internal_delete_pointers_items(struct buffer_info *cur_bi,  					   int first_p,  					   int first_i, int del_num) @@ -233,7 +243,7 @@ static void internal_delete_pointers_items(struct buffer_info *cur_bi,  	dc = B_N_CHILD(cur, first_p);  	memmove(dc, dc + del_num, (nr + 1 - first_p - del_num) * DC_SIZE); -	key = B_N_PDELIM_KEY(cur, first_i); +	key = internal_key(cur, first_i);  	memmove(key, key + del_num,  		(nr - first_i - del_num) * KEY_SIZE + (nr + 1 -  						       del_num) * DC_SIZE); @@ -270,22 +280,30 @@ static void internal_delete_childs(struct buffer_info *cur_bi, int from, int n)  	i_from = (from == 0) ? from : from - 1; -	/* delete n pointers starting from `from' position in CUR; -	   delete n keys starting from 'i_from' position in CUR; +	/* +	 * delete n pointers starting from `from' position in CUR; +	 * delete n keys starting from 'i_from' position in CUR;  	 */  	internal_delete_pointers_items(cur_bi, from, i_from, n);  } -/* copy cpy_num node pointers and cpy_num - 1 items from buffer src to buffer dest -* last_first == FIRST_TO_LAST means, that we copy first items from src to tail of dest - * last_first == LAST_TO_FIRST means, that we copy last items from src to head of dest +/* + * copy cpy_num node pointers and cpy_num - 1 items from buffer src to buffer + * dest + * last_first == FIRST_TO_LAST means that we copy first items + *                             from src to tail of dest + * last_first == LAST_TO_FIRST means that we copy last items + *                             from src to head of dest   */  static void internal_copy_pointers_items(struct buffer_info *dest_bi,  					 struct buffer_head *src,  					 int last_first, int cpy_num)  { -	/* ATTENTION! Number of node pointers in DEST is equal to number of items in DEST * -	 * as delimiting key have already inserted to buffer dest.*/ +	/* +	 * ATTENTION! Number of node pointers in DEST is equal to number +	 * of items in DEST  as delimiting key have already inserted to +	 * buffer dest. +	 */  	struct buffer_head *dest = dest_bi->bi_bh;  	int nr_dest, nr_src;  	int dest_order, src_order; @@ -330,13 +348,13 @@ static void internal_copy_pointers_items(struct buffer_info *dest_bi,  	memcpy(dc, B_N_CHILD(src, src_order), DC_SIZE * cpy_num);  	/* prepare space for cpy_num - 1 item headers */ -	key = B_N_PDELIM_KEY(dest, dest_order); +	key = internal_key(dest, dest_order);  	memmove(key + cpy_num - 1, key,  		KEY_SIZE * (nr_dest - dest_order) + DC_SIZE * (nr_dest +  							       cpy_num));  	/* insert headers */ -	memcpy(key, B_N_PDELIM_KEY(src, src_order), KEY_SIZE * (cpy_num - 1)); +	memcpy(key, internal_key(src, src_order), KEY_SIZE * (cpy_num - 1));  	/* sizes, item number */  	set_blkh_nr_item(blkh, blkh_nr_item(blkh) + (cpy_num - 1)); @@ -366,7 +384,9 @@ static void internal_copy_pointers_items(struct buffer_info *dest_bi,  } -/* Copy cpy_num node pointers and cpy_num - 1 items from buffer src to buffer dest. +/* + * Copy cpy_num node pointers and cpy_num - 1 items from buffer src to + * buffer dest.   * Delete cpy_num - del_par items and node pointers from buffer src.   * last_first == FIRST_TO_LAST means, that we copy/delete first items from src.   * last_first == LAST_TO_FIRST means, that we copy/delete last items from src. @@ -385,8 +405,10 @@ static void internal_move_pointers_items(struct buffer_info *dest_bi,  	if (last_first == FIRST_TO_LAST) {	/* shift_left occurs */  		first_pointer = 0;  		first_item = 0; -		/* delete cpy_num - del_par pointers and keys starting for pointers with first_pointer, -		   for key - with first_item */ +		/* +		 * delete cpy_num - del_par pointers and keys starting for +		 * pointers with first_pointer, for key - with first_item +		 */  		internal_delete_pointers_items(src_bi, first_pointer,  					       first_item, cpy_num - del_par);  	} else {		/* shift_right occurs */ @@ -404,7 +426,9 @@ static void internal_move_pointers_items(struct buffer_info *dest_bi,  }  /* Insert n_src'th key of buffer src before n_dest'th key of buffer dest. */ -static void internal_insert_key(struct buffer_info *dest_bi, int dest_position_before,	/* insert key before key with n_dest number */ +static void internal_insert_key(struct buffer_info *dest_bi, +				/* insert key before key with n_dest number */ +				int dest_position_before,  				struct buffer_head *src, int src_position)  {  	struct buffer_head *dest = dest_bi->bi_bh; @@ -429,12 +453,12 @@ static void internal_insert_key(struct buffer_info *dest_bi, int dest_position_b  	nr = blkh_nr_item(blkh);  	/* prepare space for inserting key */ -	key = B_N_PDELIM_KEY(dest, dest_position_before); +	key = internal_key(dest, dest_position_before);  	memmove(key + 1, key,  		(nr - dest_position_before) * KEY_SIZE + (nr + 1) * DC_SIZE);  	/* insert key */ -	memcpy(key, B_N_PDELIM_KEY(src, src_position), KEY_SIZE); +	memcpy(key, internal_key(src, src_position), KEY_SIZE);  	/* Change dirt, free space, item number fields. */ @@ -453,13 +477,19 @@ static void internal_insert_key(struct buffer_info *dest_bi, int dest_position_b  	}  } -/* Insert d_key'th (delimiting) key from buffer cfl to tail of dest. - * Copy pointer_amount node pointers and pointer_amount - 1 items from buffer src to buffer dest. +/* + * Insert d_key'th (delimiting) key from buffer cfl to tail of dest. + * Copy pointer_amount node pointers and pointer_amount - 1 items from + * buffer src to buffer dest.   * Replace  d_key'th key in buffer cfl.   * Delete pointer_amount items and node pointers from buffer src.   */  /* this can be invoked both to shift from S to L and from R to S */ -static void internal_shift_left(int mode,	/* INTERNAL_FROM_S_TO_L | INTERNAL_FROM_R_TO_S */ +static void internal_shift_left( +				/* +				 * INTERNAL_FROM_S_TO_L | INTERNAL_FROM_R_TO_S +				 */ +				int mode,  				struct tree_balance *tb,  				int h, int pointer_amount)  { @@ -473,7 +503,10 @@ static void internal_shift_left(int mode,	/* INTERNAL_FROM_S_TO_L | INTERNAL_FRO  	/*printk("pointer_amount = %d\n",pointer_amount); */  	if (pointer_amount) { -		/* insert delimiting key from common father of dest and src to node dest into position B_NR_ITEM(dest) */ +		/* +		 * insert delimiting key from common father of dest and +		 * src to node dest into position B_NR_ITEM(dest) +		 */  		internal_insert_key(&dest_bi, B_NR_ITEMS(dest_bi.bi_bh), cf,  				    d_key_position); @@ -492,7 +525,8 @@ static void internal_shift_left(int mode,	/* INTERNAL_FROM_S_TO_L | INTERNAL_FRO  } -/* Insert delimiting key to L[h]. +/* + * Insert delimiting key to L[h].   * Copy n node pointers and n - 1 items from buffer S[h] to L[h].   * Delete n - 1 items and node pointers from buffer S[h].   */ @@ -507,23 +541,27 @@ static void internal_shift1_left(struct tree_balance *tb,  	internal_define_dest_src_infos(INTERNAL_SHIFT_FROM_S_TO_L, tb, h,  				       &dest_bi, &src_bi, &d_key_position, &cf); -	if (pointer_amount > 0)	/* insert lkey[h]-th key  from CFL[h] to left neighbor L[h] */ +	/* insert lkey[h]-th key  from CFL[h] to left neighbor L[h] */ +	if (pointer_amount > 0)  		internal_insert_key(&dest_bi, B_NR_ITEMS(dest_bi.bi_bh), cf,  				    d_key_position); -	/*            internal_insert_key (tb->L[h], B_NR_ITEM(tb->L[h]), tb->CFL[h], tb->lkey[h]); */  	/* last parameter is del_parameter */  	internal_move_pointers_items(&dest_bi, &src_bi, FIRST_TO_LAST,  				     pointer_amount, 1); -	/*    internal_move_pointers_items (tb->L[h], tb->S[h], FIRST_TO_LAST, pointer_amount, 1); */  } -/* Insert d_key'th (delimiting) key from buffer cfr to head of dest. +/* + * Insert d_key'th (delimiting) key from buffer cfr to head of dest.   * Copy n node pointers and n - 1 items from buffer src to buffer dest.   * Replace  d_key'th key in buffer cfr.   * Delete n items and node pointers from buffer src.   */ -static void internal_shift_right(int mode,	/* INTERNAL_FROM_S_TO_R | INTERNAL_FROM_L_TO_S */ +static void internal_shift_right( +				 /* +				  * INTERNAL_FROM_S_TO_R | INTERNAL_FROM_L_TO_S +				  */ +				 int mode,  				 struct tree_balance *tb,  				 int h, int pointer_amount)  { @@ -538,7 +576,10 @@ static void internal_shift_right(int mode,	/* INTERNAL_FROM_S_TO_R | INTERNAL_FR  	nr = B_NR_ITEMS(src_bi.bi_bh);  	if (pointer_amount > 0) { -		/* insert delimiting key from common father of dest and src to dest node into position 0 */ +		/* +		 * insert delimiting key from common father of dest +		 * and src to dest node into position 0 +		 */  		internal_insert_key(&dest_bi, 0, cf, d_key_position);  		if (nr == pointer_amount - 1) {  			RFALSE(src_bi.bi_bh != PATH_H_PBUFFER(tb->tb_path, h) /*tb->S[h] */ || @@ -559,7 +600,8 @@ static void internal_shift_right(int mode,	/* INTERNAL_FROM_S_TO_R | INTERNAL_FR  				     pointer_amount, 0);  } -/* Insert delimiting key to R[h]. +/* + * Insert delimiting key to R[h].   * Copy n node pointers and n - 1 items from buffer S[h] to R[h].   * Delete n - 1 items and node pointers from buffer S[h].   */ @@ -574,18 +616,19 @@ static void internal_shift1_right(struct tree_balance *tb,  	internal_define_dest_src_infos(INTERNAL_SHIFT_FROM_S_TO_R, tb, h,  				       &dest_bi, &src_bi, &d_key_position, &cf); -	if (pointer_amount > 0)	/* insert rkey from CFR[h] to right neighbor R[h] */ +	/* insert rkey from CFR[h] to right neighbor R[h] */ +	if (pointer_amount > 0)  		internal_insert_key(&dest_bi, 0, cf, d_key_position); -	/*            internal_insert_key (tb->R[h], 0, tb->CFR[h], tb->rkey[h]); */  	/* last parameter is del_parameter */  	internal_move_pointers_items(&dest_bi, &src_bi, LAST_TO_FIRST,  				     pointer_amount, 1); -	/*    internal_move_pointers_items (tb->R[h], tb->S[h], LAST_TO_FIRST, pointer_amount, 1); */  } -/* Delete insert_num node pointers together with their left items - * and balance current node.*/ +/* + * Delete insert_num node pointers together with their left items + * and balance current node. + */  static void balance_internal_when_delete(struct tree_balance *tb,  					 int h, int child_pos)  { @@ -626,9 +669,11 @@ static void balance_internal_when_delete(struct tree_balance *tb,  				new_root = tb->R[h - 1];  			else  				new_root = tb->L[h - 1]; -			/* switch super block's tree root block number to the new value */ +			/* +			 * switch super block's tree root block +			 * number to the new value */  			PUT_SB_ROOT_BLOCK(tb->tb_sb, new_root->b_blocknr); -			//REISERFS_SB(tb->tb_sb)->s_rs->s_tree_height --; +			/*REISERFS_SB(tb->tb_sb)->s_rs->s_tree_height --; */  			PUT_SB_TREE_HEIGHT(tb->tb_sb,  					   SB_TREE_HEIGHT(tb->tb_sb) - 1); @@ -636,8 +681,8 @@ static void balance_internal_when_delete(struct tree_balance *tb,  						 REISERFS_SB(tb->tb_sb)->s_sbh,  						 1);  			/*&&&&&&&&&&&&&&&&&&&&&& */ +			/* use check_internal if new root is an internal node */  			if (h > 1) -				/* use check_internal if new root is an internal node */  				check_internal(new_root);  			/*&&&&&&&&&&&&&&&&&&&&&& */ @@ -648,7 +693,8 @@ static void balance_internal_when_delete(struct tree_balance *tb,  		return;  	} -	if (tb->L[h] && tb->lnum[h] == -B_NR_ITEMS(tb->L[h]) - 1) {	/* join S[h] with L[h] */ +	/* join S[h] with L[h] */ +	if (tb->L[h] && tb->lnum[h] == -B_NR_ITEMS(tb->L[h]) - 1) {  		RFALSE(tb->rnum[h] != 0,  		       "invalid tb->rnum[%d]==%d when joining S[h] with L[h]", @@ -660,7 +706,8 @@ static void balance_internal_when_delete(struct tree_balance *tb,  		return;  	} -	if (tb->R[h] && tb->rnum[h] == -B_NR_ITEMS(tb->R[h]) - 1) {	/* join S[h] with R[h] */ +	/* join S[h] with R[h] */ +	if (tb->R[h] && tb->rnum[h] == -B_NR_ITEMS(tb->R[h]) - 1) {  		RFALSE(tb->lnum[h] != 0,  		       "invalid tb->lnum[%d]==%d when joining S[h] with R[h]",  		       h, tb->lnum[h]); @@ -671,17 +718,18 @@ static void balance_internal_when_delete(struct tree_balance *tb,  		return;  	} -	if (tb->lnum[h] < 0) {	/* borrow from left neighbor L[h] */ +	/* borrow from left neighbor L[h] */ +	if (tb->lnum[h] < 0) {  		RFALSE(tb->rnum[h] != 0,  		       "wrong tb->rnum[%d]==%d when borrow from L[h]", h,  		       tb->rnum[h]); -		/*internal_shift_right (tb, h, tb->L[h], tb->CFL[h], tb->lkey[h], tb->S[h], -tb->lnum[h]); */  		internal_shift_right(INTERNAL_SHIFT_FROM_L_TO_S, tb, h,  				     -tb->lnum[h]);  		return;  	} -	if (tb->rnum[h] < 0) {	/* borrow from right neighbor R[h] */ +	/* borrow from right neighbor R[h] */ +	if (tb->rnum[h] < 0) {  		RFALSE(tb->lnum[h] != 0,  		       "invalid tb->lnum[%d]==%d when borrow from R[h]",  		       h, tb->lnum[h]); @@ -689,7 +737,8 @@ static void balance_internal_when_delete(struct tree_balance *tb,  		return;  	} -	if (tb->lnum[h] > 0) {	/* split S[h] into two parts and put them into neighbors */ +	/* split S[h] into two parts and put them into neighbors */ +	if (tb->lnum[h] > 0) {  		RFALSE(tb->rnum[h] == 0 || tb->lnum[h] + tb->rnum[h] != n + 1,  		       "invalid tb->lnum[%d]==%d or tb->rnum[%d]==%d when S[h](item number == %d) is split between them",  		       h, tb->lnum[h], h, tb->rnum[h], n); @@ -717,7 +766,7 @@ static void replace_lkey(struct tree_balance *tb, int h, struct item_head *key)  	if (B_NR_ITEMS(PATH_H_PBUFFER(tb->tb_path, h)) == 0)  		return; -	memcpy(B_N_PDELIM_KEY(tb->CFL[h], tb->lkey[h]), key, KEY_SIZE); +	memcpy(internal_key(tb->CFL[h], tb->lkey[h]), key, KEY_SIZE);  	do_balance_mark_internal_dirty(tb, tb->CFL[h], 0);  } @@ -732,34 +781,41 @@ static void replace_rkey(struct tree_balance *tb, int h, struct item_head *key)  	       "R[h] can not be empty if it exists (item number=%d)",  	       B_NR_ITEMS(tb->R[h])); -	memcpy(B_N_PDELIM_KEY(tb->CFR[h], tb->rkey[h]), key, KEY_SIZE); +	memcpy(internal_key(tb->CFR[h], tb->rkey[h]), key, KEY_SIZE);  	do_balance_mark_internal_dirty(tb, tb->CFR[h], 0);  } -int balance_internal(struct tree_balance *tb,	/* tree_balance structure               */ -		     int h,	/* level of the tree                    */ -		     int child_pos, struct item_head *insert_key,	/* key for insertion on higher level    */ -		     struct buffer_head **insert_ptr	/* node for insertion on higher level */ -    ) -    /* if inserting/pasting -       { -       child_pos is the position of the node-pointer in S[h] that        * -       pointed to S[h-1] before balancing of the h-1 level;              * -       this means that new pointers and items must be inserted AFTER * -       child_pos -       } -       else -       { -       it is the position of the leftmost pointer that must be deleted (together with -       its corresponding key to the left of the pointer) -       as a result of the previous level's balancing. -       } -     */ + +/* + * if inserting/pasting { + *   child_pos is the position of the node-pointer in S[h] that + *   pointed to S[h-1] before balancing of the h-1 level; + *   this means that new pointers and items must be inserted AFTER + *   child_pos + * } else { + *   it is the position of the leftmost pointer that must be deleted + *   (together with its corresponding key to the left of the pointer) + *   as a result of the previous level's balancing. + * } + */ + +int balance_internal(struct tree_balance *tb, +		     int h,	/* level of the tree */ +		     int child_pos, +		     /* key for insertion on higher level    */ +		     struct item_head *insert_key, +		     /* node for insertion on higher level */ +		     struct buffer_head **insert_ptr)  {  	struct buffer_head *tbSh = PATH_H_PBUFFER(tb->tb_path, h);  	struct buffer_info bi; -	int order;		/* we return this: it is 0 if there is no S[h], else it is tb->S[h]->b_item_order */ + +	/* +	 * we return this: it is 0 if there is no S[h], +	 * else it is tb->S[h]->b_item_order +	 */ +	int order;  	int insert_num, n, k;  	struct buffer_head *S_new;  	struct item_head new_insert_key; @@ -774,8 +830,10 @@ int balance_internal(struct tree_balance *tb,	/* tree_balance structure  	    (tbSh) ? PATH_H_POSITION(tb->tb_path,  				     h + 1) /*tb->S[h]->b_item_order */ : 0; -	/* Using insert_size[h] calculate the number insert_num of items -	   that must be inserted to or deleted from S[h]. */ +	/* +	 * Using insert_size[h] calculate the number insert_num of items +	 * that must be inserted to or deleted from S[h]. +	 */  	insert_num = tb->insert_size[h] / ((int)(KEY_SIZE + DC_SIZE));  	/* Check whether insert_num is proper * */ @@ -794,23 +852,21 @@ int balance_internal(struct tree_balance *tb,	/* tree_balance structure  	k = 0;  	if (tb->lnum[h] > 0) { -		/* shift lnum[h] items from S[h] to the left neighbor L[h]. -		   check how many of new items fall into L[h] or CFL[h] after -		   shifting */ +		/* +		 * shift lnum[h] items from S[h] to the left neighbor L[h]. +		 * check how many of new items fall into L[h] or CFL[h] after +		 * shifting +		 */  		n = B_NR_ITEMS(tb->L[h]);	/* number of items in L[h] */  		if (tb->lnum[h] <= child_pos) {  			/* new items don't fall into L[h] or CFL[h] */  			internal_shift_left(INTERNAL_SHIFT_FROM_S_TO_L, tb, h,  					    tb->lnum[h]); -			/*internal_shift_left (tb->L[h],tb->CFL[h],tb->lkey[h],tbSh,tb->lnum[h]); */  			child_pos -= tb->lnum[h];  		} else if (tb->lnum[h] > child_pos + insert_num) {  			/* all new items fall into L[h] */  			internal_shift_left(INTERNAL_SHIFT_FROM_S_TO_L, tb, h,  					    tb->lnum[h] - insert_num); -			/*                  internal_shift_left(tb->L[h],tb->CFL[h],tb->lkey[h],tbSh, -			   tb->lnum[h]-insert_num); -			 */  			/* insert insert_num keys and node-pointers into L[h] */  			bi.tb = tb;  			bi.bi_bh = tb->L[h]; @@ -826,7 +882,10 @@ int balance_internal(struct tree_balance *tb,	/* tree_balance structure  		} else {  			struct disk_child *dc; -			/* some items fall into L[h] or CFL[h], but some don't fall */ +			/* +			 * some items fall into L[h] or CFL[h], +			 * but some don't fall +			 */  			internal_shift1_left(tb, h, child_pos + 1);  			/* calculate number of new items that fall into L[h] */  			k = tb->lnum[h] - child_pos - 1; @@ -841,7 +900,10 @@ int balance_internal(struct tree_balance *tb,	/* tree_balance structure  			replace_lkey(tb, h, insert_key + k); -			/* replace the first node-ptr in S[h] by node-ptr to insert_ptr[k] */ +			/* +			 * replace the first node-ptr in S[h] by +			 * node-ptr to insert_ptr[k] +			 */  			dc = B_N_CHILD(tbSh, 0);  			put_dc_size(dc,  				    MAX_CHILD_SIZE(insert_ptr[k]) - @@ -860,17 +922,17 @@ int balance_internal(struct tree_balance *tb,	/* tree_balance structure  	/* tb->lnum[h] > 0 */  	if (tb->rnum[h] > 0) {  		/*shift rnum[h] items from S[h] to the right neighbor R[h] */ -		/* check how many of new items fall into R or CFR after shifting */ +		/* +		 * check how many of new items fall into R or CFR +		 * after shifting +		 */  		n = B_NR_ITEMS(tbSh);	/* number of items in S[h] */  		if (n - tb->rnum[h] >= child_pos)  			/* new items fall into S[h] */ -			/*internal_shift_right(tb,h,tbSh,tb->CFR[h],tb->rkey[h],tb->R[h],tb->rnum[h]); */  			internal_shift_right(INTERNAL_SHIFT_FROM_S_TO_R, tb, h,  					     tb->rnum[h]);  		else if (n + insert_num - tb->rnum[h] < child_pos) {  			/* all new items fall into R[h] */ -			/*internal_shift_right(tb,h,tbSh,tb->CFR[h],tb->rkey[h],tb->R[h], -			   tb->rnum[h] - insert_num); */  			internal_shift_right(INTERNAL_SHIFT_FROM_S_TO_R, tb, h,  					     tb->rnum[h] - insert_num); @@ -904,7 +966,10 @@ int balance_internal(struct tree_balance *tb,	/* tree_balance structure  			replace_rkey(tb, h, insert_key + insert_num - k - 1); -			/* replace the first node-ptr in R[h] by node-ptr insert_ptr[insert_num-k-1] */ +			/* +			 * replace the first node-ptr in R[h] by +			 * node-ptr insert_ptr[insert_num-k-1] +			 */  			dc = B_N_CHILD(tb->R[h], 0);  			put_dc_size(dc,  				    MAX_CHILD_SIZE(insert_ptr @@ -921,7 +986,7 @@ int balance_internal(struct tree_balance *tb,	/* tree_balance structure  		}  	} -    /** Fill new node that appears instead of S[h] **/ +	/** Fill new node that appears instead of S[h] **/  	RFALSE(tb->blknum[h] > 2, "blknum can not be > 2 for internal level");  	RFALSE(tb->blknum[h] < 0, "blknum can not be < 0"); @@ -997,26 +1062,30 @@ int balance_internal(struct tree_balance *tb,	/* tree_balance structure  			/* new items don't fall into S_new */  			/*  store the delimiting key for the next level */  			/* new_insert_key = (n - snum)'th key in S[h] */ -			memcpy(&new_insert_key, B_N_PDELIM_KEY(tbSh, n - snum), +			memcpy(&new_insert_key, internal_key(tbSh, n - snum),  			       KEY_SIZE);  			/* last parameter is del_par */  			internal_move_pointers_items(&dest_bi, &src_bi,  						     LAST_TO_FIRST, snum, 0); -			/*            internal_move_pointers_items(S_new, tbSh, LAST_TO_FIRST, snum, 0); */  		} else if (n + insert_num - snum < child_pos) {  			/* all new items fall into S_new */  			/*  store the delimiting key for the next level */ -			/* new_insert_key = (n + insert_item - snum)'th key in S[h] */ +			/* +			 * new_insert_key = (n + insert_item - snum)'th +			 * key in S[h] +			 */  			memcpy(&new_insert_key, -			       B_N_PDELIM_KEY(tbSh, n + insert_num - snum), +			       internal_key(tbSh, n + insert_num - snum),  			       KEY_SIZE);  			/* last parameter is del_par */  			internal_move_pointers_items(&dest_bi, &src_bi,  						     LAST_TO_FIRST,  						     snum - insert_num, 0); -			/*                  internal_move_pointers_items(S_new,tbSh,1,snum - insert_num,0); */ -			/* insert insert_num keys and node-pointers into S_new */ +			/* +			 * insert insert_num keys and node-pointers +			 * into S_new +			 */  			internal_insert_childs(&dest_bi,  					       /*S_new,tb->S[h-1]->b_next, */  					       child_pos - n - insert_num + @@ -1033,7 +1102,6 @@ int balance_internal(struct tree_balance *tb,	/* tree_balance structure  			internal_move_pointers_items(&dest_bi, &src_bi,  						     LAST_TO_FIRST,  						     n - child_pos + 1, 1); -			/*                  internal_move_pointers_items(S_new,tbSh,1,n - child_pos + 1,1); */  			/* calculate number of new items that fall into S_new */  			k = snum - n + child_pos - 1; @@ -1043,7 +1111,10 @@ int balance_internal(struct tree_balance *tb,	/* tree_balance structure  			/* new_insert_key = insert_key[insert_num - k - 1] */  			memcpy(&new_insert_key, insert_key + insert_num - k - 1,  			       KEY_SIZE); -			/* replace first node-ptr in S_new by node-ptr to insert_ptr[insert_num-k-1] */ +			/* +			 * replace first node-ptr in S_new by node-ptr +			 * to insert_ptr[insert_num-k-1] +			 */  			dc = B_N_CHILD(S_new, 0);  			put_dc_size(dc, @@ -1066,7 +1137,7 @@ int balance_internal(struct tree_balance *tb,	/* tree_balance structure  		       || buffer_dirty(S_new), "cm-00001: bad S_new (%b)",  		       S_new); -		// S_new is released in unfix_nodes +		/* S_new is released in unfix_nodes */  	}  	n = B_NR_ITEMS(tbSh);	/*number of items in S[h] */  | 
