reiserfs: balance_leaf refactor, move state variables into tree_balance
This patch pushes the rest of the state variables in balance_leaf into
the tree_balance structure so we can use them when we split balance_leaf
into separate functions.
Signed-off-by: Jeff Mahoney <jeffm@suse.com>
Signed-off-by: Jan Kara <jack@suse.cz>
diff --git a/fs/reiserfs/reiserfs.h b/fs/reiserfs/reiserfs.h
index 40bb5ce..bf53888 100644
--- a/fs/reiserfs/reiserfs.h
+++ b/fs/reiserfs/reiserfs.h
@@ -2471,12 +2471,6 @@
/* number of items that fall into left most node when S[0] splits */
int s0num;
- /* number of items that fall into first new node when S[0] splits */
- int s1num;
-
- /* number of items that fall into second new node when S[0] splits */
- int s2num;
-
/*
* number of bytes which can flow to the left neighbor from the left
* most liquid item that cannot be shifted from S[0] entirely
@@ -2491,12 +2485,30 @@
*/
int rbytes;
+
/*
- * number of bytes which flow to the first new node when S[0] splits
+ * index into the array of item headers in
+ * S[0] of the affected item
+ */
+ int item_pos;
+
+ /* new nodes allocated to hold what could not fit into S */
+ struct buffer_head *S_new[2];
+
+ /*
+ * number of items that will be placed into nodes in S_new
+ * when S[0] splits
+ */
+ int snum[2];
+
+ /*
+ * number of bytes which flow to nodes in S_new when S[0] splits
* note: if S[0] splits into 3 nodes, then items do not need to be cut
*/
- int s1bytes;
- int s2bytes;
+ int sbytes[2];
+
+ int pos_in_item;
+ int zeroes_num;
/*
* buffers which are to be freed after do_balance finishes