file-item.c (17d217fe970d34720f4f1633dca73a6aa2f3d9d1) | file-item.c (dcbdd4dcb9793b00b46ab023e9330922c8c7c54c) |
---|---|
1/* 2 * Copyright (C) 2007 Oracle. All rights reserved. 3 * 4 * This program is free software; you can redistribute it and/or 5 * modify it under the terms of the GNU General Public 6 * License v2 as published by the Free Software Foundation. 7 * 8 * This program is distributed in the hope that it will be useful, --- 523 unchanged lines hidden (view full) --- 532 /* this csum ends before we start, we're done */ 533 if (csum_end <= bytenr) 534 break; 535 536 /* delete the entire item, it is inside our range */ 537 if (key.offset >= bytenr && csum_end <= end_byte) { 538 ret = btrfs_del_item(trans, root, path); 539 BUG_ON(ret); | 1/* 2 * Copyright (C) 2007 Oracle. All rights reserved. 3 * 4 * This program is free software; you can redistribute it and/or 5 * modify it under the terms of the GNU General Public 6 * License v2 as published by the Free Software Foundation. 7 * 8 * This program is distributed in the hope that it will be useful, --- 523 unchanged lines hidden (view full) --- 532 /* this csum ends before we start, we're done */ 533 if (csum_end <= bytenr) 534 break; 535 536 /* delete the entire item, it is inside our range */ 537 if (key.offset >= bytenr && csum_end <= end_byte) { 538 ret = btrfs_del_item(trans, root, path); 539 BUG_ON(ret); |
540 if (key.offset == bytenr) 541 break; |
|
540 } else if (key.offset < bytenr && csum_end > end_byte) { 541 unsigned long offset; 542 unsigned long shift_len; 543 unsigned long item_offset; 544 /* 545 * [ bytenr - len ] 546 * [csum ] 547 * --- 30 unchanged lines hidden (view full) --- 578 ret = btrfs_split_item(trans, root, path, &key, offset); 579 BUG_ON(ret && ret != -EAGAIN); 580 581 key.offset = end_byte - 1; 582 } else { 583 ret = truncate_one_csum(trans, root, path, 584 &key, bytenr, len); 585 BUG_ON(ret); | 542 } else if (key.offset < bytenr && csum_end > end_byte) { 543 unsigned long offset; 544 unsigned long shift_len; 545 unsigned long item_offset; 546 /* 547 * [ bytenr - len ] 548 * [csum ] 549 * --- 30 unchanged lines hidden (view full) --- 580 ret = btrfs_split_item(trans, root, path, &key, offset); 581 BUG_ON(ret && ret != -EAGAIN); 582 583 key.offset = end_byte - 1; 584 } else { 585 ret = truncate_one_csum(trans, root, path, 586 &key, bytenr, len); 587 BUG_ON(ret); |
588 if (key.offset < bytenr) 589 break; |
|
586 } 587 btrfs_release_path(root, path); 588 } 589out: 590 btrfs_free_path(path); 591 return 0; 592} 593 --- 220 unchanged lines hidden --- | 590 } 591 btrfs_release_path(root, path); 592 } 593out: 594 btrfs_free_path(path); 595 return 0; 596} 597 --- 220 unchanged lines hidden --- |