Re: [PATCH v2 1/3] btrfs-progs: check/lowmem: Fix the incorrect error message of check_extent_data_item

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 2018年02月28日 18:13, Lu Fengqi wrote:
> Instead of the disk_bytenr and disk_num_bytes of the extent_item which the
> file extent references, we should output the objectid and offset of the
> file extent. And the leaf may be shared by the file trees, we should print
> the objectid of the root and the owner of the leaf.
> 
> Fixes: b0d360b541f0 ("btrfs-progs: check: introduce function to check data backref in extent tree")
> Signed-off-by: Lu Fengqi <lufq.fnst@xxxxxxxxxxxxxx>
> ---
> V2: Output the objectid of the root and the owner of the leaf.
> 
>  check/mode-lowmem.c | 11 ++++++-----
>  1 file changed, 6 insertions(+), 5 deletions(-)
> 
> diff --git a/check/mode-lowmem.c b/check/mode-lowmem.c
> index 62bcf3d2e126..f37b1b2c1571 100644
> --- a/check/mode-lowmem.c
> +++ b/check/mode-lowmem.c
> @@ -2631,9 +2631,9 @@ static int check_extent_data_item(struct btrfs_root *root,
>  
>  	if (!(extent_flags & BTRFS_EXTENT_FLAG_DATA)) {
>  		error(
> -		    "extent[%llu %llu] backref type mismatch, wanted bit: %llx",
> -		    disk_bytenr, disk_num_bytes,
> -		    BTRFS_EXTENT_FLAG_DATA);
> +"file extent[%llu %llu] root %llu owner %llu backref type mismatch, wanted bit: %llx",
> +			fi_key.objectid, fi_key.offset, root->objectid, owner,

Indeed this is much easier to identify the problem.

Reviewed-by: Qu Wenruo <wqu@xxxxxxxx>

Thanks,
Qu

> +			BTRFS_EXTENT_FLAG_DATA);
>  		err |= BACKREF_MISMATCH;
>  	}
>  
> @@ -2722,8 +2722,9 @@ out:
>  		err |= BACKREF_MISSING;
>  	btrfs_release_path(&path);
>  	if (err & BACKREF_MISSING) {
> -		error("data extent[%llu %llu] backref lost",
> -		      disk_bytenr, disk_num_bytes);
> +		error(
> +		"file extent[%llu %llu] root %llu owner %llu backref lost",
> +			fi_key.objectid, fi_key.offset, root->objectid, owner);
>  	}
>  	return err;
>  }
> 

Attachment: signature.asc
Description: OpenPGP digital signature


[Index of Archives]     [Linux Filesystem Development]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux