ソースを参照

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>
Yan 17 年 前
コミット
a273208edd
1 ファイル変更1 行追加2 行削除
  1. 1 2
      fs/btrfs/file.c

+ 1 - 2
fs/btrfs/file.c

@@ -475,8 +475,7 @@ next_slot:
 			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) {