| .. | .. |
|---|
| 239 | 239 | static int balance_leaf_when_delete(struct tree_balance *tb, int flag) |
|---|
| 240 | 240 | { |
|---|
| 241 | 241 | struct buffer_head *tbS0 = PATH_PLAST_BUFFER(tb->tb_path); |
|---|
| 242 | | - int item_pos = PATH_LAST_POSITION(tb->tb_path); |
|---|
| 243 | 242 | struct buffer_info bi; |
|---|
| 244 | 243 | int n; |
|---|
| 245 | | - struct item_head *ih; |
|---|
| 246 | 244 | |
|---|
| 247 | 245 | RFALSE(tb->FR[0] && B_LEVEL(tb->FR[0]) != DISK_LEAF_NODE_LEVEL + 1, |
|---|
| 248 | 246 | "vs- 12000: level: wrong FR %z", tb->FR[0]); |
|---|
| .. | .. |
|---|
| 251 | 249 | RFALSE(!tb->blknum[0] && !PATH_H_PPARENT(tb->tb_path, 0), |
|---|
| 252 | 250 | "PAP-12010: tree can not be empty"); |
|---|
| 253 | 251 | |
|---|
| 254 | | - ih = item_head(tbS0, item_pos); |
|---|
| 255 | 252 | buffer_info_init_tbS0(tb, &bi); |
|---|
| 256 | 253 | |
|---|
| 257 | 254 | /* Delete or truncate the item */ |
|---|
| .. | .. |
|---|
| 298 | 295 | if (tb->item_pos == tb->lnum[0] - 1 && tb->lbytes != -1) { |
|---|
| 299 | 296 | /* part of new item falls into L[0] */ |
|---|
| 300 | 297 | int new_item_len, shift; |
|---|
| 301 | | - int version; |
|---|
| 302 | 298 | |
|---|
| 303 | 299 | ret = leaf_shift_left(tb, tb->lnum[0] - 1, -1); |
|---|
| 304 | 300 | |
|---|
| .. | .. |
|---|
| 316 | 312 | buffer_info_init_left(tb, &bi); |
|---|
| 317 | 313 | leaf_insert_into_buf(&bi, n + tb->item_pos - ret, ih, body, |
|---|
| 318 | 314 | min_t(int, tb->zeroes_num, ih_item_len(ih))); |
|---|
| 319 | | - |
|---|
| 320 | | - version = ih_version(ih); |
|---|
| 321 | 315 | |
|---|
| 322 | 316 | /* |
|---|
| 323 | 317 | * Calculate key component, item length and body to |
|---|
| .. | .. |
|---|
| 632 | 626 | struct buffer_head *tbS0 = PATH_PLAST_BUFFER(tb->tb_path); |
|---|
| 633 | 627 | int n = B_NR_ITEMS(tbS0); |
|---|
| 634 | 628 | struct buffer_info bi; |
|---|
| 635 | | - int ret; |
|---|
| 636 | 629 | |
|---|
| 637 | 630 | /* new item or part of it doesn't fall into R[0] */ |
|---|
| 638 | 631 | if (n - tb->rnum[0] >= tb->item_pos) { |
|---|
| .. | .. |
|---|
| 646 | 639 | if (tb->item_pos == n - tb->rnum[0] + 1 && tb->rbytes != -1) { |
|---|
| 647 | 640 | loff_t old_key_comp, old_len, r_zeroes_number; |
|---|
| 648 | 641 | const char *r_body; |
|---|
| 649 | | - int version, shift; |
|---|
| 642 | + int shift; |
|---|
| 650 | 643 | loff_t offset; |
|---|
| 651 | 644 | |
|---|
| 652 | 645 | leaf_shift_right(tb, tb->rnum[0] - 1, -1); |
|---|
| 653 | | - |
|---|
| 654 | | - version = ih_version(ih); |
|---|
| 655 | 646 | |
|---|
| 656 | 647 | /* Remember key component and item length */ |
|---|
| 657 | 648 | old_key_comp = le_ih_k_offset(ih); |
|---|
| .. | .. |
|---|
| 698 | 689 | /* whole new item falls into R[0] */ |
|---|
| 699 | 690 | |
|---|
| 700 | 691 | /* Shift rnum[0]-1 items to R[0] */ |
|---|
| 701 | | - ret = leaf_shift_right(tb, tb->rnum[0] - 1, tb->rbytes); |
|---|
| 692 | + leaf_shift_right(tb, tb->rnum[0] - 1, tb->rbytes); |
|---|
| 702 | 693 | |
|---|
| 703 | 694 | /* Insert new item into R[0] */ |
|---|
| 704 | 695 | buffer_info_init_right(tb, &bi); |
|---|
| .. | .. |
|---|
| 851 | 842 | struct item_head *pasted; |
|---|
| 852 | 843 | struct buffer_info bi; |
|---|
| 853 | 844 | |
|---|
| 854 | | - buffer_info_init_right(tb, &bi); |
|---|
| 845 | + buffer_info_init_right(tb, &bi); |
|---|
| 855 | 846 | leaf_shift_right(tb, tb->rnum[0], tb->rbytes); |
|---|
| 856 | 847 | |
|---|
| 857 | 848 | /* append item in R[0] */ |
|---|
| .. | .. |
|---|
| 950 | 941 | if (tb->item_pos == n - tb->snum[i] + 1 && tb->sbytes[i] != -1) { |
|---|
| 951 | 942 | int old_key_comp, old_len, r_zeroes_number; |
|---|
| 952 | 943 | const char *r_body; |
|---|
| 953 | | - int version; |
|---|
| 954 | 944 | |
|---|
| 955 | 945 | /* Move snum[i]-1 items from S[0] to S_new[i] */ |
|---|
| 956 | 946 | leaf_move_items(LEAF_FROM_S_TO_SNEW, tb, tb->snum[i] - 1, -1, |
|---|
| 957 | 947 | tb->S_new[i]); |
|---|
| 958 | 948 | |
|---|
| 959 | 949 | /* Remember key component and item length */ |
|---|
| 960 | | - version = ih_version(ih); |
|---|
| 961 | 950 | old_key_comp = le_ih_k_offset(ih); |
|---|
| 962 | 951 | old_len = ih_item_len(ih); |
|---|
| 963 | 952 | |
|---|