From: Su Yue <suy.fnst@xxxxxxxxxxxxxx>
Add support to check unaligned disk_bytenr for extent_data.
Signed-off-by: Su Yue <suy.fnst@xxxxxxxxxxxxxx>
Reviewed-by: Qu Wenruo <wqu@xxxxxxxx>
Signed-off-by: Qu Wenruo <wqu@xxxxxxxx>
---
check/mode-lowmem.c | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/check/mode-lowmem.c b/check/mode-lowmem.c
index b7690c6dc1f1..20663617d242 100644
--- a/check/mode-lowmem.c
+++ b/check/mode-lowmem.c
@@ -3166,7 +3166,14 @@ static int check_extent_data_item(struct btrfs_root *root,
extent_num_bytes = btrfs_file_extent_num_bytes(eb, fi);
offset = btrfs_file_extent_offset(eb, fi);
- /* Check unaligned disk_num_bytes and num_bytes */
+ /* Check unaligned disk_bytenr, disk_num_bytes and num_bytes */
+ if (!IS_ALIGNED(disk_bytenr, root->fs_info->sectorsize)) {
+ error(
+"file extent [%llu, %llu] has unaligned disk bytenr: %llu, should be aligned to %u",
+ fi_key.objectid, fi_key.offset, disk_bytenr,
+ root->fs_info->sectorsize);
+ err |= BYTES_UNALIGNED;
+ }
if (!IS_ALIGNED(disk_num_bytes, root->fs_info->sectorsize)) {
error(
"file extent [%llu, %llu] has unaligned disk num bytes: %llu, should be aligned to %u",
--
2.20.0