On Wed, Mar 20, 2019 at 02:27:40PM +0800, Qu Wenruo wrote:
> Just add one extra line to show when the corruption is detected.
> Currently only read time detection is possible.
> 
> The planned distinguish line would be:
>   read time:
>     <detail report>
>     block=XXXXX read time tree block corruption detected
> 
>   write time:
>     <detail report>
>     block=XXXXX write time tree block corruption detected
> 
> Signed-off-by: Qu Wenruo <w...@suse.com>
> Reviewed-by: Nikolay Borisov <nbori...@suse.com>
> Reviewed-by: Johannes Thumshirn <jthumsh...@suse.de>
> ---
>  fs/btrfs/disk-io.c | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/fs/btrfs/disk-io.c b/fs/btrfs/disk-io.c
> index 6a7a1e168169..e8d4e238f832 100644
> --- a/fs/btrfs/disk-io.c
> +++ b/fs/btrfs/disk-io.c
> @@ -659,6 +659,10 @@ static int btree_readpage_end_io_hook(struct 
> btrfs_io_bio *io_bio,
>  
>       if (!ret)
>               set_extent_buffer_uptodate(eb);
> +     else
> +             btrfs_err(fs_info,
> +                       "block=%llu read time tree block corruption detected",

This showed up in test btrfs/124, the logs below do not contain the
selftests outpt, that runs twice, only the last line is kept for
reference. That's the only message from the read/write time checks, the branch
is misc-next.

[ 5432.522317] BTRFS: selftest: running extent_map tests
[ 5432.573684] BTRFS: device fsid 519acff4-bdb4-4459-87b6-8f64ab1360cf devid 1 
transid 7 /dev/vdb
[ 5432.578232] BTRFS info (device vdb): allowing degraded mounts
[ 5432.579703] BTRFS info (device vdb): disk space caching is enabled
[ 5432.581348] BTRFS info (device vdb): has skinny extents
[ 5432.583483] BTRFS warning (device vdb): devid 2 uuid 
dc83669e-dff7-4dee-bcc6-dbef1f470896 is missing
[ 5432.586115] BTRFS warning (device vdb): devid 2 uuid 
dc83669e-dff7-4dee-bcc6-dbef1f470896 is missing
[ 5513.939435] BTRFS: device fsid af58e3f0-8011-4d2a-b2bd-fc956d458a75 devid 1 
transid 238 /dev/vda
[ 5513.992006] BTRFS info (device vdb): disk space caching is enabled
[ 5513.994398] BTRFS info (device vdb): has skinny extents
[ 5514.022526] BTRFS critical (device vdb): corrupt leaf: root=7 block=30474240 
slot=0, invalid nritems, have 0 should not be 0 for non-root leaf
[ 5514.028271] BTRFS error (device vdb): block=30474240 read time tree block 
corruption detected
[ 5514.031529] BTRFS info (device vdb): read error corrected: ino 0 off 
30474240 (dev /dev/vdc sector 18560)
[ 5514.034133] BTRFS info (device vdb): read error corrected: ino 0 off 
30478336 (dev /dev/vdc sector 18568)
[ 5514.036662] BTRFS info (device vdb): read error corrected: ino 0 off 
30482432 (dev /dev/vdc sector 18576)
[ 5514.039784] BTRFS info (device vdb): read error corrected: ino 0 off 
30486528 (dev /dev/vdc sector 18584)
[ 5514.042383] BTRFS error (device vdb): bad tree block start, want 32210944 
have 651061555542690057
[ 5514.044666] BTRFS info (device vdb): read error corrected: ino 0 off 
32210944 (dev /dev/vdc sector 21952)
[ 5514.047146] BTRFS info (device vdb): read error corrected: ino 0 off 
32215040 (dev /dev/vdc sector 21960)
[ 5514.049608] BTRFS info (device vdb): read error corrected: ino 0 off 
32219136 (dev /dev/vdc sector 21968)
[ 5514.052034] BTRFS info (device vdb): read error corrected: ino 0 off 
32223232 (dev /dev/vdc sector 21976)
[ 5514.056223] BTRFS error (device vdb): bad tree block start, want 32276480 
have 0
[ 5514.058632] BTRFS info (device vdb): read error corrected: ino 0 off 
32276480 (dev /dev/vdc sector 22080)
[ 5514.060448] BTRFS info (device vdb): read error corrected: ino 0 off 
32280576 (dev /dev/vdc sector 22088)
[ 5514.064681] BTRFS info (device vdb): balance: start -d -m -s
[ 5514.066309] BTRFS info (device vdb): relocating block group 2479882240 flags 
data
[ 5514.068870] BTRFS error (device vdb): bad tree block start, want 31539200 
have 723401728380766730
[ 5514.087183] BTRFS error (device vdb): bad tree block start, want 31457280 
have 578721382704613384
[ 5514.087208] BTRFS error (device vdb): bad tree block start, want 31555584 
have 723401728380766730
[ 5514.087244] BTRFS error (device vdb): bad tree block start, want 31522816 
have 723401728380766730
[ 5514.107976] BTRFS error (device vdb): bad tree block start, want 31555584 
have 723401728380766730
[ 5514.131715] BTRFS error (device vdb): bad tree block start, want 31440896 
have 506381209866536711
[ 5514.131739] BTRFS error (device vdb): bad tree block start, want 31457280 
have 578721382704613384
[ 5514.155830] BTRFS error (device vdb): bad tree block start, want 31457280 
have 578721382704613384
[ 5527.886754] repair_io_failure: 54 callbacks suppressed
[ 5527.886761] BTRFS info (device vdb): read error corrected: ino 0 off 
32145408 (dev /dev/vdc sector 21824)
[ 5527.895976] BTRFS info (device vdb): read error corrected: ino 0 off 
32149504 (dev /dev/vdc sector 21832)
[ 5527.899446] BTRFS info (device vdb): read error corrected: ino 0 off 
32153600 (dev /dev/vdc sector 21840)

Reply via email to