From: Su Yue <suy.fnst@cn.fujitsu.com>
To: <dsterba@suse.cz>, <linux-btrfs@vger.kernel.org>
Subject: Re: [PATCH 1/5] btrfs-progs: check: return value of check_extent_refs()
Date: Fri, 6 Oct 2017 09:42:57 +0800 [thread overview]
Message-ID: <1166dbf7-649f-9afc-fa14-1836596bb4fa@cn.fujitsu.com> (raw)
In-Reply-To: <20171005174625.GM3521@twin.jikos.cz>
On 10/06/2017 01:46 AM, David Sterba wrote:
> On Wed, Sep 27, 2017 at 02:34:36PM +0800, Su Yue wrote:
>> In original check mode(without option "--repair"), check_extent_refs()
>> always returns 0.
>>
>> Add a variable @error to record status while checking extents.
>> At the end of check_extent_refs(), let it return -EIO if @error is
>> nonzero.
>>
>> Example:
>> $ btrfs check bad-extent-inline-ref-type.raw
>> Checking filesystem on bad-extent-inline-ref-type.raw
>> UUID: 1942d6fe-617b-4499-9982-cc8ffae5447f
>> checking extents
>> corrupt extent record: key 29360128 169 16384
>> ref mismatch on [29360128 16384] extent item 0, found 1
>> Backref 29360128 parent 5 root 5 not found in extent tree
>> backpointer mismatch on [29360128 16384]
>> bad extent [29360128, 29376512), type mismatch with chunk
>> checking free space cache
>> checking fs roots
>> checking csums
>> checking root refs
>> found 114688 bytes used, no error found
>> total csum bytes: 0
>> total tree bytes: 114688
>> total fs tree bytes: 32768
>> total extent tree bytes: 16384
>> btree space waste bytes: 109471
>> file data blocks allocated: 0
>> referenced 0
>>
>> Signed-off-by: Su Yue <suy.fnst@cn.fujitsu.com>
>
> With this patch applied, the test fsck/006 fails, is that intentional?
>
> Log from the last failing testcase:
>
> checking extents
> ref mismatch on [15474688 905216] extent item 1, found 4
> Data backref 15474688 parent 31817728 owner 0 offset 0 num_refs 0 not found in extent tree
> Incorrect local backref count on 15474688 parent 31817728 owner 0 offset 0 found 1 wanted 0 back 0x12d02f0
> Data backref 15474688 parent 30883840 owner 0 offset 0 num_refs 0 not found in extent tree
> Incorrect local backref count on 15474688 parent 30883840 owner 0 offset 0 found 1 wanted 0 back 0x12cd710
> Data backref 15474688 parent 31326208 owner 0 offset 0 num_refs 0 not found in extent tree
> Incorrect local backref count on 15474688 parent 31326208 owner 0 offset 0 found 1 wanted 0 back 0x12d2b80
> backpointer mismatch on [15474688 905216]
> ERROR: errors found in extent allocation tree or chunk allocation
> checking free space cache
> checking fs roots
> checking csums
> checking root refs
> Checking filesystem on test.img
> UUID: 3857c23d-4219-4600-a636-ac7707dc4ff3
> cache and super generation don't match, space cache will be invalidated
> found 6291456 bytes used, error(s) found
> total csum bytes: 660
> total tree bytes: 786432
> total fs tree bytes: 688128
> total extent tree bytes: 16384
> btree space waste bytes: 459860
> file data blocks allocated: 35536896
> referenced 25890816
> failed: /mnt/big/dsterba/backup-labs-subv/gits/btrfs-progs/btrfs check test.img
>
> I haven't tried with the other patches applied, so it might get actually fixed.
> Even in that case, I'd rather keep the branches bisectable.
>
Understood, I will do it in next version.
>
next prev parent reply other threads:[~2017-10-06 1:39 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-09-27 6:34 [PATCH 0/5] btrfs-progs: check: original and lowmem mode fix Su Yue
2017-09-27 6:34 ` [PATCH 1/5] btrfs-progs: check: return value of check_extent_refs() Su Yue
2017-10-05 17:46 ` David Sterba
2017-10-06 1:38 ` Su Yue
2017-10-06 16:19 ` David Sterba
2017-10-06 1:42 ` Su Yue [this message]
2017-09-27 6:34 ` [PATCH 2/5] btrfs-progs: check: call repair_root_items() before any repair Su Yue
2017-09-27 7:24 ` Qu Wenruo
2017-09-27 7:58 ` [PATCH v2 " Su Yue
2017-09-27 8:28 ` [PATCH v3 " Su Yue
2017-09-27 6:34 ` [PATCH 3/5] btrfs-progs: check: error or return value of repair_root_items() Su Yue
2017-09-27 6:34 ` [PATCH 4/5] btrfs-progs: check: check extent_inline_ref in lowmem Su Yue
2017-09-27 6:34 ` [PATCH 5/5] btrfs-progs: fsck-tests: 027/bad_extent_inline_ref_type Su Yue
2017-10-06 16:52 ` [PATCH 0/5] btrfs-progs: check: original and lowmem mode fix David Sterba
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1166dbf7-649f-9afc-fa14-1836596bb4fa@cn.fujitsu.com \
--to=suy.fnst@cn.fujitsu.com \
--cc=dsterba@suse.cz \
--cc=linux-btrfs@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).