From: Liu Bo <bo.li.liu@oracle.com>
To: Daniel J Blueman <daniel@quora.org>
Cc: Linux BTRFS <linux-btrfs@vger.kernel.org>
Subject: Re: 3.15 btrfs free space cache oops
Date: Tue, 12 Aug 2014 16:27:54 +0800 [thread overview]
Message-ID: <20140812082754.GE9244@localhost.localdomain> (raw)
In-Reply-To: <CAMVG2stLXT+Yo=C8fsNx9g+6h9h4r-Yni3D=EeRVQObCVhw98w@mail.gmail.com>
Hi Daniel,
On Tue, Aug 12, 2014 at 01:14:08PM +0800, Daniel J Blueman wrote:
> When running MonetDB over a BTRFS RAID-0 set over 4 SSDs [1] on
> 3.15.5, we see io_ctl have a bad address of 0x200000, causing a fatal
> pagefault in memcpy():
>
> (gdb) list *(__btrfs_write_out_cache+0x3e4)
> 0xffffffff81365984 is in __btrfs_write_out_cache
> (fs/btrfs/free-space-cache.c:521).
> 516 if (io_ctl->index >= io_ctl->num_pages)
> 517 return -ENOSPC;
> 518 io_ctl_map_page(io_ctl, 0);
> 519 }
> 520
> 521 memcpy(io_ctl->cur, bitmap, PAGE_CACHE_SIZE);
> 522 io_ctl_set_crc(io_ctl, io_ctl->index - 1);
> 523 if (io_ctl->index < io_ctl->num_pages)
> 524 io_ctl_map_page(io_ctl, 0);
> 525 return 0;
>
> I can try to reproduce it if more data is useful?
It's strange, in fact we seldom get such kind of page fault crash.
Does it happens with 3.16, or can you get CONFIG_DEBUG_PAGEALLOC=y?
thanks,
-liubo
>
> Thanks,
> Daniel
>
> -- [1]
>
> mkfs.btrfs -f -m raid0 -d raid0 -n 16k -l 16k -O skinny-metadata
> /dev/sda2 /dev/sdc2 /dev/sdb2 /dev/sdd2
> mount /dev/sda2 /scratch -o noatime,discard,nodatasum,nobarrier,ssd_spread
>
> -- [2]
>
> BUG: unable to handle kernel paging request at 0000000000200000
> IP: [<ffffffff8135a374>] __btrfs_write_out_cache+0x3e4/0x8e0
> PGD 3bca02c067 PUD 3bcf5fb067 PMD 0
> Oops: 0000 [#1] SMP
> Modules linked in:
> CPU: 34 PID: 46645 Comm: mserver5 Not tainted 3.15.5-server #7
> Hardware name: Dell Inc. PowerEdge R815/0W13NR, BIOS 3.1.1 [1.1.54] 10/16/2013
> task: ffff880a8c7234f0 ti: ffff8809aefcc000 task.ti: ffff8809aefcc000
> RIP: 0010:[<ffffffff8135a374>] [<ffffffff8135a374>]
> __btrfs_write_out_cache+0x3e4/0x8e0
> RSP: 0018:ffff8809aefcfc40 EFLAGS: 00010246
> RAX: 0000004fb9321000 RBX: ffff8809aefcfca8 RCX: 0000000000000200
> RDX: 0000000000001000 RSI: 0000000000200000 RDI: ffff884fb9321000
> RBP: ffff8809aefcfd48 R08: 0000000000000200 R09: 0000000000000000
> R10: 0000000000000000 R11: ffff884fb9320ffc R12: ffff8831e3303740
> R13: ffff880100579970 R14: ffff880bb38061c0 R15: 0000000000200000
> FS: 00007fb9447ed700(0000) GS:ffff884bbfc80000(0000) knlGS:0000000000000000
> CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> CR2: 0000000000200000 CR3: 000000329b71c000 CR4: 00000000000407e0
> Stack:
> ffff8809aefcfc90 0000000000000011 0000000e00000000 ffff884fbbc2c870
> ffff880bb38061c0 ffff8809aefcfc90 ffff880bb3806058 ffff880b000002ec
> ffff883bcd523800 ffff8833d338f2c0 ffff88476b1eb4e0 000000b890cde000
> Call Trace:
> [<ffffffff81a75b4b>] ? _raw_spin_lock+0xb/0x20
> [<ffffffff8135c0e1>] btrfs_write_out_cache+0xb1/0xf0
> [<ffffffff8130be0b>] btrfs_write_dirty_block_groups+0x58b/0x670
> [<ffffffff813199c5>] commit_cowonly_roots+0x195/0x250
> [<ffffffff8131b92f>] btrfs_commit_transaction+0x41f/0x9b0
> [<ffffffff81358e85>] ? btrfs_log_dentry_safe+0x55/0x70
> [<ffffffff8132b6b2>] btrfs_sync_file+0x182/0x2a0
> [<ffffffff8114a450>] do_fsync+0x50/0x80
> [<ffffffff8114a6de>] SyS_fdatasync+0xe/0x20
> [<ffffffff81a766e6>] system_call_fastpath+0x1a/0x1f
> Code: ff 4d 89 fc 49 89 c7 e9 ab 00 00 00 0f 1f 00 40 f6 c7 02 0f 85
> fe 00 00 00 40 f6 c7 04 0f 85 14 01 00 00 89 d1 c1 e9 03 f6 c2 04 <f3>
> 48 a5 74 09 8b 0e 89 0f b9 04 00 00 00 f6 c2 02 74 0e 44 0f
> RIP [<ffffffff8135a374>] __btrfs_write_out_cache+0x3e4/0x8e0
> RSP <ffff8809aefcfc40>
> CR2: 0000000000200000
> --
> Daniel J Blueman
> --
> To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2014-08-12 8:28 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-08-12 5:14 3.15 btrfs free space cache oops Daniel J Blueman
2014-08-12 8:27 ` Liu Bo [this message]
-- strict thread matches above, loose matches on Subject: below --
2014-08-11 6:36 Daniel J Blueman
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=20140812082754.GE9244@localhost.localdomain \
--to=bo.li.liu@oracle.com \
--cc=daniel@quora.org \
--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;
as well as URLs for NNTP newsgroup(s).