aboutsummaryrefslogtreecommitdiffstats
path: root/fs/btrfs/file.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/btrfs/file.c')
-rw-r--r--fs/btrfs/file.c16
1 files changed, 12 insertions, 4 deletions
diff --git a/fs/btrfs/file.c b/fs/btrfs/file.c
index 6bd5ce9d75f0..977e715f0bf2 100644
--- a/fs/btrfs/file.c
+++ b/fs/btrfs/file.c
@@ -756,8 +756,16 @@ next_slot:
756 } 756 }
757 757
758 btrfs_item_key_to_cpu(leaf, &key, path->slots[0]); 758 btrfs_item_key_to_cpu(leaf, &key, path->slots[0]);
759 if (key.objectid > ino || 759
760 key.type > BTRFS_EXTENT_DATA_KEY || key.offset >= end) 760 if (key.objectid > ino)
761 break;
762 if (WARN_ON_ONCE(key.objectid < ino) ||
763 key.type < BTRFS_EXTENT_DATA_KEY) {
764 ASSERT(del_nr == 0);
765 path->slots[0]++;
766 goto next_slot;
767 }
768 if (key.type > BTRFS_EXTENT_DATA_KEY || key.offset >= end)
761 break; 769 break;
762 770
763 fi = btrfs_item_ptr(leaf, path->slots[0], 771 fi = btrfs_item_ptr(leaf, path->slots[0],
@@ -776,8 +784,8 @@ next_slot:
776 btrfs_file_extent_inline_len(leaf, 784 btrfs_file_extent_inline_len(leaf,
777 path->slots[0], fi); 785 path->slots[0], fi);
778 } else { 786 } else {
779 WARN_ON(1); 787 /* can't happen */
780 extent_end = search_start; 788 BUG();
781 } 789 }
782 790
783 /* 791 /*