summaryrefslogtreecommitdiffstats
path: root/fs/reiserfs/reiserfs.h
diff options
context:
space:
mode:
Diffstat (limited to 'fs/reiserfs/reiserfs.h')
-rw-r--r--fs/reiserfs/reiserfs.h30
1 files changed, 21 insertions, 9 deletions
diff --git a/fs/reiserfs/reiserfs.h b/fs/reiserfs/reiserfs.h
index 40bb5cebab65..bf53888c7f59 100644
--- a/fs/reiserfs/reiserfs.h
+++ b/fs/reiserfs/reiserfs.h
@@ -2471,12 +2471,6 @@ struct tree_balance {
/* 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 @@ struct tree_balance {
*/
int rbytes;
+
+ /*
+ * 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 the first new node when S[0] splits
+ * 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