Fix EXTENT_MAP_INLINE off by one in btrfs_drop_extents
Don't set hint_byte to EXTENT_MAP_INLINE when 'end == extent_end' or
'start == key.offset' . The inline extent will be truncated in these
cases.
Signed-off-by: Chris Mason <chris.mason@oracle.com>
diff --git a/fs/btrfs/file.c b/fs/btrfs/file.c
index bb98f52..5ceaed2 100644
--- a/fs/btrfs/file.c
+++ b/fs/btrfs/file.c
@@ -475,8 +475,7 @@
search_start = (extent_end + mask) & ~mask;
} else
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;
}
if (end < extent_end && end >= key.offset) {