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 ---