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 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.