Off by one fix for btrfs_drop_extents
One of my old patches introduces a new bug to btrfs_drop_extents(changeset 275). Inline extents are not truncated properly when "extent_end == end", it can trigger the BUG_ON at file.c:600. I hope I don't introduce new bug this time. --- Signed-off-by: Chris Mason <chris.mason@oracle.com>
This commit is contained in:
@ -481,8 +481,9 @@ next_slot:
|
|||||||
search_start = (extent_end + mask) & ~mask;
|
search_start = (extent_end + mask) & ~mask;
|
||||||
} else
|
} else
|
||||||
search_start = extent_end;
|
search_start = extent_end;
|
||||||
if (end < extent_end && start > key.offset && found_inline) {
|
if (end <= extent_end && start >= key.offset && found_inline) {
|
||||||
*hint_byte = EXTENT_MAP_INLINE;
|
*hint_byte = EXTENT_MAP_INLINE;
|
||||||
|
continue;
|
||||||
}
|
}
|
||||||
if (end < extent_end && end >= key.offset) {
|
if (end < extent_end && end >= key.offset) {
|
||||||
if (found_extent) {
|
if (found_extent) {
|
||||||
|
Reference in New Issue
Block a user