]>
Commit | Line | Data |
---|---|---|
8f69975d BS |
1 | From: Jeff Mahoney <jeffm@suse.com> |
2 | Subject: reiserfs: use buffer_info for leaf_paste_entries | |
3 | ||
4 | This patch makes leaf_paste_entries more consistent with respect to the | |
5 | other leaf operations. Using buffer_info instead of buffer_head directly | |
6 | allows us to get a superblock pointer for use in error handling. | |
7 | ||
8 | Signed-off-by: Jeff Mahoney <jeffm@suse.com> | |
9 | ||
10 | --- | |
11 | fs/reiserfs/do_balan.c | 17 +++++++---------- | |
12 | fs/reiserfs/lbalance.c | 5 +++-- | |
13 | include/linux/reiserfs_fs.h | 2 +- | |
14 | 3 files changed, 11 insertions(+), 13 deletions(-) | |
15 | ||
16 | --- a/fs/reiserfs/do_balan.c | |
17 | +++ b/fs/reiserfs/do_balan.c | |
18 | @@ -449,8 +449,7 @@ static int balance_leaf(struct tree_bala | |
19 | /* when we have merge directory item, pos_in_item has been changed too */ | |
20 | ||
21 | /* paste new directory entry. 1 is entry number */ | |
22 | - leaf_paste_entries(bi. | |
23 | - bi_bh, | |
24 | + leaf_paste_entries(&bi, | |
25 | n + | |
26 | item_pos | |
27 | - | |
28 | @@ -699,7 +698,7 @@ static int balance_leaf(struct tree_bala | |
29 | n + item_pos - | |
30 | ret_val); | |
31 | if (is_direntry_le_ih(pasted)) | |
32 | - leaf_paste_entries(bi.bi_bh, | |
33 | + leaf_paste_entries(&bi, | |
34 | n + | |
35 | item_pos - | |
36 | ret_val, | |
37 | @@ -894,8 +893,7 @@ static int balance_leaf(struct tree_bala | |
38 | tb->insert_size[0], | |
39 | body, zeros_num); | |
40 | /* paste entry */ | |
41 | - leaf_paste_entries(bi. | |
42 | - bi_bh, | |
43 | + leaf_paste_entries(&bi, | |
44 | 0, | |
45 | paste_entry_position, | |
46 | 1, | |
47 | @@ -1096,7 +1094,7 @@ static int balance_leaf(struct tree_bala | |
48 | tb->rnum[0]); | |
49 | if (is_direntry_le_ih(pasted) | |
50 | && pos_in_item >= 0) { | |
51 | - leaf_paste_entries(bi.bi_bh, | |
52 | + leaf_paste_entries(&bi, | |
53 | item_pos - | |
54 | n + | |
55 | tb->rnum[0], | |
56 | @@ -1339,8 +1337,7 @@ static int balance_leaf(struct tree_bala | |
57 | tb->insert_size[0], | |
58 | body, zeros_num); | |
59 | /* paste new directory entry */ | |
60 | - leaf_paste_entries(bi. | |
61 | - bi_bh, | |
62 | + leaf_paste_entries(&bi, | |
63 | 0, | |
64 | pos_in_item | |
65 | - | |
66 | @@ -1505,7 +1502,7 @@ static int balance_leaf(struct tree_bala | |
67 | item_pos - n + | |
68 | snum[i]); | |
69 | if (is_direntry_le_ih(pasted)) { | |
70 | - leaf_paste_entries(bi.bi_bh, | |
71 | + leaf_paste_entries(&bi, | |
72 | item_pos - | |
73 | n + snum[i], | |
74 | pos_in_item, | |
75 | @@ -1606,7 +1603,7 @@ static int balance_leaf(struct tree_bala | |
76 | zeros_num); | |
77 | ||
78 | /* paste entry */ | |
79 | - leaf_paste_entries(bi.bi_bh, | |
80 | + leaf_paste_entries(&bi, | |
81 | item_pos, | |
82 | pos_in_item, | |
83 | 1, | |
84 | --- a/fs/reiserfs/lbalance.c | |
85 | +++ b/fs/reiserfs/lbalance.c | |
86 | @@ -111,7 +111,7 @@ static void leaf_copy_dir_entries(struct | |
87 | item_num_in_dest = | |
88 | (last_first == FIRST_TO_LAST) ? (B_NR_ITEMS(dest) - 1) : 0; | |
89 | ||
90 | - leaf_paste_entries(dest_bi->bi_bh, item_num_in_dest, | |
91 | + leaf_paste_entries(dest_bi, item_num_in_dest, | |
92 | (last_first == | |
93 | FIRST_TO_LAST) ? I_ENTRY_COUNT(B_N_PITEM_HEAD(dest, | |
94 | item_num_in_dest)) | |
95 | @@ -1191,7 +1191,7 @@ static void leaf_delete_items_entirely(s | |
96 | } | |
97 | ||
98 | /* paste new_entry_count entries (new_dehs, records) into position before to item_num-th item */ | |
99 | -void leaf_paste_entries(struct buffer_head *bh, | |
100 | +void leaf_paste_entries(struct buffer_info *bi, | |
101 | int item_num, | |
102 | int before, | |
103 | int new_entry_count, | |
104 | @@ -1203,6 +1203,7 @@ void leaf_paste_entries(struct buffer_he | |
105 | struct reiserfs_de_head *deh; | |
106 | char *insert_point; | |
107 | int i, old_entry_num; | |
108 | + struct buffer_head *bh = bi->bi_bh; | |
109 | ||
110 | if (new_entry_count == 0) | |
111 | return; | |
112 | --- a/include/linux/reiserfs_fs.h | |
113 | +++ b/include/linux/reiserfs_fs.h | |
114 | @@ -2026,7 +2026,7 @@ void leaf_paste_in_buffer(struct buffer_ | |
115 | int zeros_number); | |
116 | void leaf_cut_from_buffer(struct buffer_info *bi, int cut_item_num, | |
117 | int pos_in_item, int cut_size); | |
118 | -void leaf_paste_entries(struct buffer_head *bh, int item_num, int before, | |
119 | +void leaf_paste_entries(struct buffer_info *bi, int item_num, int before, | |
120 | int new_entry_count, struct reiserfs_de_head *new_dehs, | |
121 | const char *records, int paste_size); | |
122 | /* ibalance.c */ |