All of lore.kernel.org
 help / color / mirror / Atom feed
From: Qu Wenruo <quwenruo.btrfs@gmx.com>
To: "Stéphane Lesimple" <stephane_btrfs2@lesimple.fr>,
	"Qu Wenruo" <wqu@suse.com>, "David Arendt" <admin@prnet.org>,
	linux-btrfs@vger.kernel.org
Subject: Re: 5.6-5.10 balance regression?
Date: Tue, 29 Dec 2020 07:39:57 +0800	[thread overview]
Message-ID: <485db52d-cf4d-3a5c-9253-13cdb40ccd5e@gmx.com> (raw)
In-Reply-To: <1904ed2c92224d38747377b43e462353@lesimple.fr>



On 2020/12/29 上午3:58, Stéphane Lesimple wrote:
>> I know it fails in relocate_block_group(), which returns -2, I'm currently
>> adding a couple printk's here and there to try to pinpoint that better.
>
> Okay, so btrfs_relocate_block_group() starts with stage MOVE_DATA_EXTENTS, which
> completes successfully, as relocate_block_group() returns 0:
>
> BTRFS info (device <unknown>): relocate_block_group: prepare_to_realocate = 0
> BTRFS info (device <unknown>): relocate_block_group loop: progress = 1, btrfs_start_transaction = ok
> [...]
> BTRFS info (device <unknown>): relocate_block_group loop: progress = 168, btrfs_start_transaction = ok
> BTRFS info (device <unknown>): relocate_block_group: returning err = 0
> BTRFS info (device dm-10): stage = move data extents, relocate_block_group = 0
> BTRFS info (device dm-10): found 167 extents, stage: move data extents
>
> Then it proceeds to the UPDATE_DATA_PTRS stage and calls relocate_block_group()
> again. This time it'll fail at the 92th iteration of the loop:
>
> BTRFS info (device <unknown>): relocate_block_group loop: progress = 92, btrfs_start_transaction = ok
> BTRFS info (device <unknown>): relocate_block_group loop: extents_found = 92, item_size(53) >= sizeof(*ei)(24), flags = 1, ret = 0
> BTRFS info (device <unknown>): add_data_references: btrfs_find_all_leafs = 0
> BTRFS info (device <unknown>): add_data_references loop: read_tree_block ok
> BTRFS info (device <unknown>): add_data_references loop: delete_v1_space_cache = -2

Damn it, if we find no v1 space cache for the block group, it means
we're fine to continue...

> BTRFS info (device <unknown>): relocate_block_group loop: add_data_references = -2
>
> Then the -ENOENT goes all the way up the call stack and aborts the balance.
>
> So it fails in delete_v1_space_cache(), though it is worth noting that the
> FS we're talking about is actually using space_cache v2.

Space cache v2, no wonder no v1 space cache.

>
> Does it help? Shall I dig deeper?

You're already at the point!

Mind me to craft a fix with your signed-off-by?

Thanks,
Qu

>
> Regards,
>
> Stéphane.
>

  reply	other threads:[~2020-12-28 23:42 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-12-27 12:11 5.6-5.10 balance regression? Stéphane Lesimple
2020-12-27 13:11 ` David Arendt
2020-12-28  0:06   ` Qu Wenruo
2020-12-28  7:38     ` David Arendt
2020-12-28  7:48       ` Qu Wenruo
2020-12-28 17:43       ` Stéphane Lesimple
2020-12-28 19:58       ` Stéphane Lesimple
2020-12-28 23:39         ` Qu Wenruo [this message]
2020-12-29  0:44           ` Qu Wenruo
2020-12-29  0:59             ` David Arendt
2020-12-29  4:36               ` Qu Wenruo
2020-12-29  9:42             ` Martin Steigerwald
2020-12-29  9:31           ` Stéphane Lesimple

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=485db52d-cf4d-3a5c-9253-13cdb40ccd5e@gmx.com \
    --to=quwenruo.btrfs@gmx.com \
    --cc=admin@prnet.org \
    --cc=linux-btrfs@vger.kernel.org \
    --cc=stephane_btrfs2@lesimple.fr \
    --cc=wqu@suse.com \
    /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.