From: Lukas Pirl <btrfs@lukas-pirl.de>
To: Duncan <1i5t5.duncan@cox.net>
Cc: linux-btrfs@vger.kernel.org
Subject: Re: 4.2.6: livelock in recovery (free_reloc_roots)?
Date: Sun, 22 Nov 2015 00:18:16 +1300 [thread overview]
Message-ID: <565052F8.2080904@lukas-pirl.de> (raw)
In-Reply-To: <pan$3f62e$32bded6f$af93867e$b809a854@cox.net>
On 11/21/2015 08:16 PM, Duncan wrote as excerpted:
> Lukas Pirl posted on Sat, 21 Nov 2015 13:37:37 +1300 as excerpted:
>
>> > Can "btrfs_recover_relocation" prevented from being run? I would not
>> > mind losing a few recent writes (what was a balance) but instead going
>> > rw again, so I can restart a balance.
> I'm not familiar with that thread name (I run multiple small btrfs on
> ssds, so scrub, balance, etc, take only a few minutes at most), but if
First, thank you Duncan for taking the time to hack in those broad
explanations.
I am not sure if this name also corresponds to a thread name, but it is
for sure a function that appears in all the dumped traces when trying to
'mount -o recovery,degraded' the file system in question:
[<ffffffffa030964d>] ? free_reloc_roots+0x1d/0x30 [btrfs]
[<ffffffffa030f6e5>] ? merge_reloc_roots+0x165/0x220 [btrfs]
[<ffffffffa0310343>] ? btrfs_recover_relocation+0x293/0x380 [btrfs]
[<ffffffffa02bcaa2>] ? open_ctree+0x20d2/0x23b0 [btrfs]
[<ffffffffa02933fb>] ? btrfs_mount+0x87b/0x990 [btrfs]
> it's the balance thread, then yes, there's a mount option that cancels a
> running balance. See the wiki page covering mount options.
Yes, the file system is mounted with '-o skip_balance'.
(Although the '-o recovery' might trigger relocations?!)
>> > From what I have read, btrfs-zero-log would not help in this case (?) so
>> > I did not run it so far.
> Correct. Btrfs is atomic at commit time, so doesn't need a journal in
> the sense of older filesystems like reiserfs, jfs and ext3/4.
> …
> Otherwise, it generally does no good, and while
> it generally does no serious harm beyond the loss of a few seconds worth
> of fsyncs, etc, either, because the commits /are/ atomic and zeroing the
> log simply returns the system to the state of such a commit, it's not
> recommended as it /does/ needlessly kill the log of those last few
> seconds of fsyncs.
So I see that it does no good but no serious harm (generally). Since it
is related to writes (not relocations, I assume) clearing the log is
unlikely to fix the problem with btrfs_recover_relocation or
merge_reloc_roots, respectively.
Maybe a dev helps us and shines some light in the (I assume) impossible
relocation issue.
Best,
Lukas
next prev parent reply other threads:[~2015-11-21 11:18 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-11-20 9:04 4.2.6: livelock in recovery (free_reloc_roots)? Lukas Pirl
2015-11-21 0:37 ` Lukas Pirl
2015-11-21 7:16 ` Duncan
2015-11-21 9:01 ` Alexander Fougner
2015-11-21 9:38 ` Lukas Pirl
2015-11-21 11:18 ` Lukas Pirl [this message]
2016-03-02 12:56 ` Still in 4.4.0: livelock in recovery (free_reloc_roots) Lukas Pirl
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=565052F8.2080904@lukas-pirl.de \
--to=btrfs@lukas-pirl.de \
--cc=1i5t5.duncan@cox.net \
--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