From: Chris Mason <clm@fb.com>
To: Torbjørn <lists@skagestad.org>,
linux-btrfs <linux-btrfs@vger.kernel.org>
Subject: Re: 3.15-rc6 - btrfs-transacti:4157 blocked for more than 120 seconds.
Date: Tue, 27 May 2014 16:50:58 -0400 [thread overview]
Message-ID: <5384FAB2.6000204@fb.com> (raw)
In-Reply-To: <5384F8A4.1050206@skagestad.org>
On 05/27/2014 04:42 PM, Torbjørn wrote:
> On 05/27/2014 10:08 PM, Torbjørn wrote:
>> On 05/27/2014 09:09 PM, Chris Mason wrote:
>>>
>>> On 05/27/2014 02:11 PM, Torbjørn wrote:
>>>> Hi,
>>>>
>>>> Btrfs-transaction keeps blocking for me on all 3.15-rc versions.
>>>> 3.14 does not have this issue.
>>>> The process never gets unstuck. btrfs fi sync does not help. A hard
>>>> reboot seems to be the only way to recover.
>>>>
>>>> The volume is still readable when it's in this state.
>>>>
>>>> dmesg + sysrq-w is available at
>>>> https://urldefense.proofpoint.com/v1/url?u=http://pastebin.com/vHQnRE2F&k=ZVNjlDMF0FElm4dQtryO4A%3D%3D%0A&r=6%2FL0lzzDhu0Y1hL9xm%2BQyA%3D%3D%0A&m=IKSs%2F0C3x9a0LIiVKFmZVoP9lSAZ%2BK9JgEkchLEAAzM%3D%0A&s=127b40cc34dbb205b5277e6081b082f26e84fc417d35310f3aeee04998a679a8
>>>>
>>>>
>>>> It's over 6000 lines, and would most likely not be allowed on the list.
>>>>
>>>> The blocking happons on a server with local kvm-clients reading and
>>>> writing to a local btrfs-volume over nfs.
>>>> The btrfs-volume is on top of dm-crypt devices.
>>>>
>>>> Any additional info I can give to help?
>>>> Tests you want me to run?
>>> Very strange, since I don't actually see what we're waiting for. Can
>>> you please either send me your btrfs.ko or use gdb to see where this
>>> statement is:
>>>
>>>
>>> btrfs_commit_transaction+0x315
>>>
>>> The syntax is
>>>
>>> gdb btrfs.ko
>>> gdb> list *btrfs_commit_transaction+0x315
>>>
>>> -chris
>> Sure, here you go.
>>
>> Reading symbols from btrfs.ko...done.
>> (gdb) list *btrfs_commit_transaction+0x315
>> 0x30f95 is in btrfs_commit_transaction (fs/btrfs/transaction.c:1752).
>> 1747 * COMMIT_DOING so make sure to wait for num_writers to ==
>> 1 again.
>> 1748 */
>> 1749 spin_lock(&root->fs_info->trans_lock);
>> 1750 cur_trans->state = TRANS_STATE_COMMIT_DOING;
>> 1751 spin_unlock(&root->fs_info->trans_lock);
>> 1752 wait_event(cur_trans->writer_wait,
>> 1753 atomic_read(&cur_trans->num_writers) == 1);
>> 1754
>> 1755 /* ->aborted might be set after the previous check, so
>> check it */
>> 1756 if (unlikely(ACCESS_ONCE(cur_trans->aborted))) {
>> (gdb)
>>
>> I'm attaching the btrfs.ko as well, hopefully the 20M file gets through.
Thanks, this is enough. Someone has the transaction pegged open.
Checking your sysrq again.
-chris
next prev parent reply other threads:[~2014-05-27 20:48 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-05-27 18:11 3.15-rc6 - btrfs-transacti:4157 blocked for more than 120 seconds Torbjørn
2014-05-27 19:09 ` Chris Mason
[not found] ` <5384F0B4.7040309@skagestad.org>
2014-05-27 20:42 ` Torbjørn
2014-05-27 20:50 ` Chris Mason [this message]
2014-05-27 21:15 ` Chris Mason
2014-05-28 5:53 ` Torbjørn
2014-05-28 13:41 ` Chris Mason
2014-05-28 14:56 ` Torbjørn
2014-06-01 21:29 ` Marc MERLIN
2014-06-02 3:55 ` Andrew McGlashan
2014-06-02 7:29 ` Torbjørn
2014-06-05 11:44 ` Gary Coulbourne
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=5384FAB2.6000204@fb.com \
--to=clm@fb.com \
--cc=linux-btrfs@vger.kernel.org \
--cc=lists@skagestad.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;
as well as URLs for NNTP newsgroup(s).