From: Marc Joliet <marcec@gmx.de>
To: linux-btrfs@vger.kernel.org
Subject: Re: system hangs due to qgroups
Date: Sat, 03 Dec 2016 22:46:40 +0100 [thread overview]
Message-ID: <4615776.dvopQOigxY@thetick> (raw)
In-Reply-To: <CAJCQCtRxhjKAcZy7wuXCFM1=70eG+TJPwEoyD7zq0iEw8f2urQ@mail.gmail.com>
[-- Attachment #1: Type: text/plain, Size: 4148 bytes --]
On Saturday 03 December 2016 13:42:42 Chris Murphy wrote:
> On Sat, Dec 3, 2016 at 11:40 AM, Marc Joliet <marcec@gmx.de> wrote:
> > Hello all,
> >
> > I'm having some trouble with btrfs on a laptop, possibly due to qgroups.
> > Specifically, some file system activities (e.g., snapshot creation,
> > baloo_file_extractor from KDE Plasma) cause the system to hang for up to
> > about 40 minutes, maybe more.
>
> Do you get any blocked tasks kernel messages? If so, issue sysrq+w
> during the hang, and then check the system log (dmesg may not contain
> everything if the command fills the message buffer). If it's a hang
> without any kernel messages, then issue sysrq+t.
>
> https://www.kernel.org/doc/Documentation/sysrq.txt
As it's a rescue shell, I have only the one shell AFAIK, and it's occupied by
mount. So I can't tell if there are dmesg entries, however, when this happens
during a normal running system, I never saw any dmesg entries. Anyway, I ran
both.
The output of sysrq+w mentions two tasks: "btrfs-transaction" with
btrfs_scrub_pause+0xbe/0xd0 as the top-most entry in the call trace, and
"mount" with its top-most entry at schedule+0x33/0x90 (it looks like it's
still in the "early" processing, since there's also
"btrfs_parse_early_options+0190/0x190" in the call trace).
The output of sysrq+t is too big to capture all of it (i.e., I can't scroll
back to the beginning), but just looking at the task names that I *can* see,
there are: btrfs-fixup, various btrfs-endio*, btrfs-rmw, btrfs-freespace,
btrfs-delayed-m (cut off), btrfs-readahead, btrfs-qgroup-re (cut off), btrfs-
extent-re (cut off), btrfs-cleaner, and btrfs-transaction. Oh, and a bunch of
kworkers.
Should I take photos? That'll be annoying to do with all the scrolling, but I
can do that if need be.
> > After I next turned on the laptop, the balance resumed, causing bootup to
> > fail, after which I remembered about the skip_balance mount option, which
> > I
> > tried in a rescue shell from an initramfs.
>
> The file system is the root filesystem? If so, skip_balance may not be
> happening soon enough. Use kernel parameter rootflags=skip_balance
> which will apply this mount option at the very first moment the file
> system is mounted during boot.
Yes, it's the root file system (there's that plus a swap partition). I
believe I tried rootflags, but I think it also failed, which is why I'm using
a rescue shell now. I can try it again, though, if anybody thinks that
there's no point in waiting, especially if btrfs_scrub_pause in the btrfs-
transaction call trace is significant.
> > Since I couldn't use skip_balance, and logically can't destroy qgroups on
> > a
> > read-only file system, I decided to wait for a regular mount to finish.
> > That has been running since Tuesday, and I am slowly growing impatient.
> Haha, no kidding! I think that's very patient.
Heh :) . I've still got my main desktop (as ancient as it may be), so I'm
content with waiting for now, but I don't want to wait forever, especially if
there might not even be a point.
> > Thus I arrive at my question(s): is there anything else I can try, short
> > of
> > reformatting and restoring from backup? Can I use btrfs-check here, or
> > any
> > other tool? Or...?
>
> Yes, btrfs-progs 4.8.5 has the latest qgroup checks, so if there's
> something wrong it should find it and if not that's a bug of its own.
The initramfs has 4.8.4, but it looks like 4.8.5 was "only" an urgent bug fix,
with no changes to qgroups handling, so I can use that, too. Can it repair
qgroups problems, too?
> > Also, should I be able to avoid reformatting: how do I properly disable
> > quota support?
>
> 'btrfs quota disable' is the only command that applies to this and it
> requires rw mount; there's no 'noquota' mount option.
OK, thanks.
So what should I try next? I'm sick at home, so I can spend more time on this
than usual.
--
Marc Joliet
--
"People who think they know everything really annoy those of us who know we
don't" - Bjarne Stroustrup
[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 801 bytes --]
next prev parent reply other threads:[~2016-12-03 21:54 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-12-03 18:40 system hangs due to qgroups Marc Joliet
2016-12-03 20:42 ` Chris Murphy
2016-12-03 21:46 ` Marc Joliet [this message]
2016-12-03 22:56 ` Chris Murphy
2016-12-04 16:02 ` Marc Joliet
2016-12-04 18:24 ` Duncan
2016-12-04 19:20 ` Marc Joliet
2016-12-05 2:32 ` Duncan
2016-12-04 18:52 ` Chris Murphy
2016-12-05 9:00 ` Marc Joliet
2016-12-05 10:16 ` Marc Joliet
2016-12-05 23:22 ` Marc Joliet
2016-12-19 11:17 ` Marc Joliet
2016-12-04 2:10 ` Adam Borowski
2016-12-04 16:02 ` Marc Joliet
2016-12-05 0:39 ` Qu Wenruo
2016-12-05 11:01 ` Marc Joliet
2016-12-05 12:10 ` Marc Joliet
2016-12-05 14:43 ` [SOLVED] " Marc Joliet
2016-12-06 0:29 ` Qu Wenruo
2016-12-06 10:12 ` Marc Joliet
2016-12-06 14:55 ` Marc Joliet
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=4615776.dvopQOigxY@thetick \
--to=marcec@gmx.de \
--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.