All of lore.kernel.org
 help / color / mirror / Atom feed
From: Qu Wenruo <quwenruo@cn.fujitsu.com>
To: Marc MERLIN <marc@merlins.org>
Cc: Chris Murphy <lists@colorremedies.com>,
	Hugo Mills <hugo@carfax.org.uk>,
	Btrfs BTRFS <linux-btrfs@vger.kernel.org>
Subject: Re: How to fix errors that check --mode lomem finds, but --mode normal doesn't?
Date: Thu, 22 Jun 2017 12:08:44 +0800	[thread overview]
Message-ID: <e86db7c4-4953-7706-347d-983079177f37@cn.fujitsu.com> (raw)
In-Reply-To: <20170622025330.GX5303@merlins.org>



At 06/22/2017 10:53 AM, Marc MERLIN wrote:
> Ok, first it finished (almost 24H)
> 
> (...)
> ERROR: root 3862 EXTENT_DATA[18170706 135168] interrupt
> ERROR: root 3862 EXTENT_DATA[18170706 1048576] interrupt
> ERROR: root 3864 EXTENT_DATA[109336 4096] interrupt
> ERROR: errors found in fs roots
> found 5544779108352 bytes used, error(s) found
> total csum bytes: 5344523140
> total tree bytes: 71323041792
> total fs tree bytes: 59288403968
> total extent tree bytes: 5378260992
> btree space waste bytes: 10912166856
> file data blocks allocated: 7830914256896
>   referenced 6244104495104
> 
> Thanks for your reply Qu
> 
> On Thu, Jun 22, 2017 at 10:22:57AM +0800, Qu Wenruo wrote:
>>> gargamel:~# btrfs check -p --mode lowmem  /dev/mapper/dshelf2
>>> Checking filesystem on /dev/mapper/dshelf2
>>> UUID: 85441c59-ad11-4b25-b1fe-974f9e4acede
>>> ERROR: extent[3886187384832, 81920] referencer count mismatch (root:
>>> 11930, owner: 375444, offset: 1851654144) wanted: 1, have: 4
>>
>> This means that in extent tree, btrfs says there is only one referring
>> to this extent, but lowmem mode find 4.
>>
>> It would provide great help if you could dump extent tree for it.
>> # btrfs-debug-tree <dev> | grep -C 10 3886187384832
>   
>                  extent data backref root 11712 objectid 375444 offset 1851572224 count 1
>                  extent data backref root 11276 objectid 375444 offset 1851572224 count 1
>                  extent data backref root 11058 objectid 375444 offset 1851572224 count 1
>                  extent data backref root 11494 objectid 375444 offset 1851572224 count 1
>          item 37 key (3886187352064 EXTENT_ITEM 32768) itemoff 11381 itemsize 140
>                  extent refs 4 gen 32382 flags DATA
>                  extent data backref root 11712 objectid 375444 offset 1851596800 count 1
>                  extent data backref root 11276 objectid 375444 offset 1851596800 count 1
>                  extent data backref root 11058 objectid 375444 offset 1851596800 count 1
>                  extent data backref root 11494 objectid 375444 offset 1851596800 count 1
>          item 38 key (3886187384832 EXTENT_ITEM 81920) itemoff 11212 itemsize 169
>                  extent refs 16 gen 32382 flags DATA
>                  extent data backref root 11712 objectid 375444 offset 1851654144 count 4
>                  extent data backref root 11276 objectid 375444 offset 1851654144 count 4
>                  extent data backref root 11058 objectid 375444 offset 1851654144 count 3
>                  extent data backref root 11494 objectid 375444 offset 1851654144 count 4
>                  extent data backref root 11930 objectid 375444 offset 1851654144 count 1
>          item 39 key (3886187466752 EXTENT_ITEM 16384) itemoff 11043 itemsize 169
>                  extent refs 5 gen 32382 flags DATA
>                  extent data backref root 11712 objectid 375444 offset 1851744256 count 1
>                  extent data backref root 11276 objectid 375444 offset 1851744256 count 1

Well, there is only the output from extent tree.

I was also expecting output from subvolue (11930) tree.

It could be done by
# btrfs-debug-tree -t 11930 | grep -C 10 3886187384832

But please pay attention that, this dump may contain filenames, feel 
free to mask the filenames.

Thanks,
Qu

> 
>   
>>> ERROR: errors found in extent allocation tree or chunk allocation
>>> cache and super generation don't match, space cache will be invalidated
>>> ERROR: root 3857 EXTENT_DATA[108864 4096] interrupt
>>
>> This means that, for root 3857, inode 108864, file offset 4096, there is
>> a gap before that extent.
>> In NO_HOLES mode it's allowed, but if NO_HOLES incompat flag is not set,
>> this should be a problem.
>>
>> I wonder if this is a problem caused by inlined compressed file extent.
>>
>> This can also be dumped by the following command.
>> # btrfs-debug-tree -t 3857 <dev> | grep -C 10 108864
> 
> This one is much bigger (192KB), I've bzipped and attached it.

Thanks for this one.
And it is caused by inlined compressed extent.

Lu Fengqi will send patch fixing it.

Thanks,
Qu

> 
> Thanks for having a look, I appreciate it.
> 
> Marc
> 



  reply	other threads:[~2017-06-22  4:08 UTC|newest]

Thread overview: 77+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-06-20 14:39 4.11.3: BTRFS critical (device dm-1): unable to add free space :-17 => btrfs check --repair runs clean Marc MERLIN
2017-06-20 15:23 ` Hugo Mills
2017-06-20 15:26   ` Marc MERLIN
2017-06-20 15:36     ` Hugo Mills
2017-06-20 15:44       ` Marc MERLIN
2017-06-20 23:12         ` Marc MERLIN
2017-06-20 23:58           ` Marc MERLIN
2017-06-21  3:31           ` Chris Murphy
2017-06-21  3:43             ` Marc MERLIN
2017-06-21 15:13               ` How to fix errors that check --mode lomem finds, but --mode normal doesn't? Marc MERLIN
2017-06-21 23:22                 ` Chris Murphy
2017-06-22  0:48                   ` Marc MERLIN
2017-06-22  2:22                 ` Qu Wenruo
2017-06-22  2:53                   ` Marc MERLIN
2017-06-22  4:08                     ` Qu Wenruo [this message]
2017-06-23  4:06                       ` Marc MERLIN
2017-06-23  8:54                         ` Lu Fengqi
2017-06-23 16:17                           ` Marc MERLIN
2017-06-24  2:34                             ` Marc MERLIN
2017-06-26 10:46                               ` Lu Fengqi
2017-06-27 23:11                                 ` Marc MERLIN
2017-06-28  7:10                                   ` Lu Fengqi
2017-06-28 14:43                                     ` Marc MERLIN
2017-05-01 17:06                                       ` 4.11 relocate crash, null pointer Marc MERLIN
2017-05-01 18:08                                         ` 4.11 relocate crash, null pointer + rolling back a filesystem by X hours? Marc MERLIN
2017-05-02  1:50                                           ` Chris Murphy
2017-05-02  3:23                                             ` Marc MERLIN
2017-05-02  4:56                                               ` Chris Murphy
2017-05-02  5:11                                                 ` Marc MERLIN
2017-05-02 18:47                                                   ` btrfs check --repair: failed to repair damaged filesystem, aborting Marc MERLIN
2017-05-03  6:00                                                     ` Marc MERLIN
2017-05-03  6:17                                                       ` Marc MERLIN
2017-05-03  6:32                                                         ` Roman Mamedov
2017-05-03 20:40                                                           ` Marc MERLIN
2017-07-07  5:37                                                   ` ctree.c:197: update_ref_for_cow: BUG_ON `ret` triggered, value -5 Marc MERLIN
2017-07-07  5:39                                                     ` Marc MERLIN
2017-07-07  9:33                                                       ` Lu Fengqi
2017-07-07 16:38                                                         ` Marc MERLIN
2017-07-09  4:34                                                           ` 4.11.6 / more corruption / root 15455 has a root item with a more recent gen (33682) compared to the found root node (0) Marc MERLIN
2017-07-09  5:05                                                             ` We really need a better/working btrfs check --repair Marc MERLIN
2017-07-09  6:34                                                             ` 4.11.6 / more corruption / root 15455 has a root item with a more recent gen (33682) compared to the found root node (0) Marc MERLIN
2017-07-09  7:57                                                             ` Martin Steigerwald
2017-07-09  9:16                                                               ` Paul Jones
2017-07-09 11:17                                                                 ` Duncan
2017-07-09 13:00                                                                   ` Martin Steigerwald
2017-07-29 19:29                                                                   ` Imran Geriskovan
2017-07-29 23:38                                                                     ` Duncan
2017-07-30 14:54                                                                       ` Imran Geriskovan
2017-07-31  4:53                                                                         ` Duncan
2017-07-31 20:32                                                                           ` Imran Geriskovan
2017-08-01  1:36                                                                             ` Duncan
2017-08-01 15:18                                                                               ` Imran Geriskovan
2017-07-31 21:07                                                               ` Ivan Sizov
2017-07-31 21:17                                                                 ` Marc MERLIN
2017-07-31 21:39                                                                   ` Ivan Sizov
2017-08-01 16:41                                                                     ` Ivan Sizov
2017-07-31 22:00                                                                   ` Justin Maggard
2017-08-01  6:38                                                                     ` Marc MERLIN
2017-05-02 19:59                                                 ` 4.11 relocate crash, null pointer + rolling back a filesystem by X hours? Kai Krakow
2017-05-02  5:01                                               ` Duncan
2017-05-02 19:53                                                 ` Kai Krakow
2017-05-23 16:58                                                 ` Marc MERLIN
2017-05-24 10:16                                                   ` Duncan
2017-05-05  1:19                                               ` Qu Wenruo
2017-05-05  2:10                                                 ` Qu Wenruo
2017-05-05  2:40                                                 ` Marc MERLIN
2017-05-05  5:03                                                   ` Qu Wenruo
2017-05-05 15:43                                                     ` Marc MERLIN
2017-05-17 18:23                                                       ` Kai Krakow
2017-05-05  1:13                                           ` Qu Wenruo
2017-06-29 13:36                                       ` How to fix errors that check --mode lomem finds, but --mode normal doesn't? Lu Fengqi
2017-06-29 15:30                                         ` Marc MERLIN
2017-06-30 14:59                                           ` Lu Fengqi
2017-06-22  4:08                     ` Qu Wenruo
2017-06-21 12:04           ` 4.11.3: BTRFS critical (device dm-1): unable to add free space :-17 => btrfs check --repair runs clean Duncan
2017-06-21  3:26         ` Chris Murphy
2017-06-21  4:06           ` Marc MERLIN

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=e86db7c4-4953-7706-347d-983079177f37@cn.fujitsu.com \
    --to=quwenruo@cn.fujitsu.com \
    --cc=hugo@carfax.org.uk \
    --cc=linux-btrfs@vger.kernel.org \
    --cc=lists@colorremedies.com \
    --cc=marc@merlins.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.