From: Marc MERLIN <marc@merlins.org>
To: linux-btrfs@vger.kernel.org, Chris Mason <clm@fb.com>
Cc: Josef Bacik <jbacik@fb.com>
Subject: Re: very slow btrfs filesystem: any data needed before I wipe it?
Date: Sat, 12 Apr 2014 13:25:42 -0700 [thread overview]
Message-ID: <20140412202542.GW7322@merlins.org> (raw)
In-Reply-To: <20140409173842.GT10789@merlins.org> <20140325014956.GG11533@merlins.org>
I've posted about this before, and I'm about to delete and recreate the
filesystem.
I took an image, but the image is 18GB, so not very convenient to give
around, although I can if needed.
As a reminder, the problems are that everything is super slow, including
btrfs's own background processes that hang and create tracebacks.
(initially I complained about rm, but it's just everything that is slow).
If I mount with ro,recovery, then it's actually normal speed to copy data
off it, quite weird. It seems like btrfs' background processes are grinding
the FS down to a halt, and I didn't turn on autodefrag.
I haven't gotten confirmation that this a known problem that has been
root-caused, so I'm a bit hesitant about wiping the filesystem before
getting potentially useful debug data off it, but honestly I'm not sure what
to take.
(I have a btrfsck running, looks like it may take over an hour, so I'll post
that after it's finished)
Other suggestions welcome.
Thanks,
Marc
On Mon, Mar 24, 2014 at 06:49:56PM -0700, Marc MERLIN wrote:
> I had a tree with some amount of thousand files (less than 1 million)
> on top of md raid5.
>
> It took 18H to rm it in 3 tries:
> gargamel:/mnt/dshelf2/backup/polgara# time rm -rf current.todel/
> real 1087m26.491s
> user 0m2.448s
> sys 4m42.012s
>
> gargamel:/mnt/dshelf2/backup/polgara# btrfs fi show /mnt/btrfs_pool2
> Label: btrfs_pool2 uuid: cb9df6d3-a528-4afc-9a45-4fed5ec358d6
> Total devices 1 FS bytes used 2.76TiB
> devid 1 size 7.28TiB used 3.43TiB path /dev/mapper/dshelf2
>
> gargamel:/mnt/dshelf2/backup/polgara# btrfs fi df /mnt/btrfs_pool2
> Data, single: total=3.28TiB, used=2.70TiB
> System, DUP: total=8.00MiB, used=384.00KiB
> System, single: total=4.00MiB, used=0.00
> Metadata, DUP: total=73.50GiB, used=62.46GiB
> Metadata, single: total=8.00MiB, used=0.00
>
> This is running from
> md8 : active raid5 sdf1[6] sdb1[5] sda1[3] sde1[2] sdd1[1]
> 7814045696 blocks super 1.2 level 5, 512k chunk, algorithm 2 [5/5] [UUUUU]
> bitmap: 0/15 pages [0KB], 65536KB chunk
>
> The filesystem is pretty new, it shouldn't be fragmented much.
>
> dmesg shows a bit of this:
> INFO: task rm:31885 blocked for more than 120 seconds.
> Not tainted 3.14.0-rc5-amd64-i915-preempt-20140216c #1
> "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message
> rm D ffff880117e5a940 0 31885 31280 0x20020080
> ffff8800169f3d10 0000000000000086 ffff8800169f3fd8 ffff880117e5a410
> 00000000000141c0 ffff880117e5a410 ffff88011d4f9e90 ffff88020c0109e8
> 0000000000000000 ffff88020c010800 ffff8801b6df55a0 ffff8800169f3d20
> Call Trace:
> [<ffffffff8160c331>] schedule+0x73/0x75
> [<ffffffff8122a5f9>] wait_current_trans.isra.15+0x98/0xf4
> [<ffffffff810850c9>] ? finish_wait+0x65/0x65
> [<ffffffff8122ba9e>] start_transaction+0x48e/0x4f2
> [<ffffffff8122bb1d>] btrfs_start_transaction+0x1b/0x1d
> [<ffffffff8122cab4>] __unlink_start_trans+0x24/0xaf
> [<ffffffff812327ab>] btrfs_unlink+0x28/0xa0
> [<ffffffff8116176d>] vfs_unlink+0x90/0xdb
> [<ffffffff811618c0>] do_unlinkat+0x108/0x1da
> [<ffffffff810734c8>] ? mmdrop+0x11/0x20
> [<ffffffff8115d2db>] ? path_put+0x1e/0x21
> [<ffffffff811625c7>] SyS_unlinkat+0x22/0x2e
> [<ffffffff816171ac>] sysenter_dispatch+0x7/0x21
>
> That said, it didn't happen much:
> [38077.054841] INFO: task btrfs-cleaner:3536 blocked for more than 120 seconds.
> [38077.521463] INFO: task rm:31885 blocked for more than 120 seconds.
> [38077.926399] INFO: task cp:26645 blocked for more than 120 seconds.
> [38078.346885] INFO: task btrfs:7430 blocked for more than 120 seconds.
> [38198.921768] INFO: task btrfs-cleaner:3536 blocked for more than 120 seconds.
> [38199.357367] INFO: task rm:31885 blocked for more than 120 seconds.
> [38199.753897] INFO: task cp:26645 blocked for more than 120 seconds.
> [38200.172729] INFO: task btrfs:7430 blocked for more than 120 seconds.
> [56696.271850] INFO: task btrfs-transacti:3537 blocked for more than 120 seconds.
> [56937.063142] INFO: task btrfs-cleaner:3536 blocked for more than 120 seconds.
>
> At boot time, I've been getting multiple of these after boot:
> gargamel login: [ 1328.241302] INFO: task btrfs-cleaner:3571 blocked for more than 120 seconds.
> [ 1328.264046] Not tainted 3.14.0-amd64-i915-preempt-20140216 #2
> [ 1328.284413] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
> [ 1328.309394] btrfs-cleaner D ffff88020d5ea800 0 3571 2 0x00000000
> [ 1328.331996] ffff8800c8985d00 0000000000000046 ffff8800c8985fd8 ffff88020d5ea2d0
> [ 1328.355774] 00000000000141c0 ffff88020d5ea2d0 ffff8801d9a7ee50 ffff880213bfc9e8
> [ 1328.379408] 0000000000000000 ffff880213bfc800 ffff88020c5b7ce0 ffff8800c8985d10
> [ 1328.403654] Call Trace:
> [ 1328.412617] [<ffffffff8160d2a1>] schedule+0x73/0x75
> [ 1328.429189] [<ffffffff8122aa77>] wait_current_trans.isra.15+0x98/0xf4
> [ 1328.450402] [<ffffffff81085116>] ? finish_wait+0x65/0x65
> [ 1328.467957] [<ffffffff8122bf1c>] start_transaction+0x48e/0x4f2
> [ 1328.487315] [<ffffffff8122c2ff>] ? __btrfs_end_transaction+0x2a1/0x2c6
> [ 1328.508614] [<ffffffff8122bf9b>] btrfs_start_transaction+0x1b/0x1d
> [ 1328.528842] [<ffffffff8121cc7d>] btrfs_drop_snapshot+0x443/0x610
> [ 1328.548481] [<ffffffff8122c73d>] btrfs_clean_one_deleted_snapshot+0x103/0x10f
> [ 1328.571518] [<ffffffff81224f09>] cleaner_kthread+0x103/0x136
> [ 1328.590436] [<ffffffff81224e06>] ? btrfs_alloc_root+0x26/0x26
> [ 1328.609348] [<ffffffff8106bc62>] kthread+0xae/0xb6
> [ 1328.625275] [<ffffffff8106bbb4>] ? __kthread_parkme+0x61/0x61
> [ 1328.644406] [<ffffffff8161637c>] ret_from_fork+0x7c/0xb0
> [ 1328.662075] [<ffffffff8106bbb4>] ? __kthread_parkme+0x61/0x61
--
"A mouse is a device used to point at the xterm you want to type in" - A.S.R.
Microsoft is to operating systems ....
.... what McDonalds is to gourmet cooking
Home page: http://marc.merlins.org/
next prev parent reply other threads:[~2014-04-12 20:25 UTC|newest]
Thread overview: 124+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-04-07 16:05 btrfs on 3.14rc5 stuck on "btrfs_tree_read_lock sync" Marc MERLIN
2014-04-07 16:10 ` Josef Bacik
2014-04-07 18:51 ` Marc MERLIN
2014-04-07 19:32 ` Chris Mason
2014-04-07 20:00 ` Marc MERLIN
2014-04-09 17:38 ` Marc MERLIN
2014-03-25 1:49 ` How to debug very very slow file delete? Marc MERLIN
2014-03-25 12:13 ` How to debug very very slow file delete? (btrfs on md-raid5) Martin
2014-03-25 13:57 ` Xavier Nicollet
2014-03-25 16:41 ` Marc MERLIN
2014-04-10 17:07 ` How to debug very very slow file delete? (btrfs on md-raid5 with many files, 70GB metadata) Marc MERLIN
2014-04-11 14:15 ` How to debug very very slow file delete? (btrfs on md-raid5) Chris Samuel
2014-04-11 17:23 ` Marc MERLIN
2014-04-11 18:00 ` Duncan
2014-04-11 19:15 ` Roman Mamedov
2014-04-12 20:25 ` Marc MERLIN [this message]
2014-04-13 4:02 ` very slow btrfs filesystem: any data needed before I wipe it? Duncan
2014-04-14 1:43 ` Marc MERLIN
2014-04-14 10:28 ` Duncan
2014-04-16 22:35 ` Marc MERLIN
2014-04-13 14:57 ` Marc MERLIN
2014-04-13 16:59 ` what does your btrfsck look like? Marc MERLIN
2014-04-14 2:15 ` How to debug very very slow file delete? Liu Bo
2014-04-14 2:21 ` Liu Bo
2014-06-09 23:40 ` btrfs balance crash BUG ON fs/btrfs/relocation.c:1062 or RIP build_backref_tree+0x9fc/0xcc4 Marc MERLIN
2014-06-10 0:32 ` Russell Coker
2014-06-10 4:58 ` Marc MERLIN
2014-06-14 16:21 ` Marc MERLIN
2014-06-17 18:29 ` Josef Bacik
2014-06-17 18:55 ` Marc MERLIN
2014-06-18 15:26 ` Josef Bacik
2014-06-18 20:21 ` Marc MERLIN
2014-06-19 16:12 ` Josef Bacik
2014-06-19 22:25 ` Marc MERLIN
2014-06-19 22:50 ` Josef Bacik
2014-06-20 0:53 ` Marc MERLIN
2014-06-20 15:40 ` Josef Bacik
2014-06-25 19:40 ` Marc MERLIN
2014-06-25 21:05 ` Josef Bacik
2015-05-05 21:02 ` 3.19.6: __btrfs_free_extent:5987: errno=-2 No such entry, did btrfs check --repair break it? Marc MERLIN
2015-05-06 11:04 ` Duncan
2015-05-06 17:25 ` Chris Murphy
2015-05-07 3:15 ` Duncan
2015-05-06 17:49 ` Marc MERLIN
-- strict thread matches above, loose matches on Subject: below --
2014-09-03 17:42 kernel BUG at fs/btrfs/extent-tree.c:7727! with 3.17-rc3 Tomasz Chmielewski
2014-09-03 12:04 ` kernel BUG at fs/btrfs/relocation.c:1065 in 3.14.16 to 3.17-rc3 Olivier Bonvalet
2014-09-29 14:13 ` Liu Bo
[not found] ` <20140824000720.GN3875@merlins.org>
[not found] ` <20140926214821.GX13219@merlins.org>
[not found] ` <20150502141102.GB1809@merlins.org>
[not found] ` <20150501210013.GH13624@merlins.org>
2015-04-29 23:21 ` 3.19.3, btrfs send/receive error: failed to clone extents Marc MERLIN
2015-05-02 16:30 ` 3.19.3: check tree block failed + WARNING: device 0 not present on scrub Marc MERLIN
2015-05-02 16:50 ` Christian Dysthe
2015-05-02 17:05 ` Marc MERLIN
2015-05-02 17:20 ` Christian Dysthe
2015-05-02 17:29 ` Marc MERLIN
2015-05-02 18:56 ` Christian Dysthe
2015-05-05 6:32 ` Marc MERLIN
2015-05-05 19:56 ` 3.19.6: __btrfs_free_extent:5987: errno=-2 No such entry Marc MERLIN
2014-09-08 18:04 ` kernel BUG at fs/btrfs/extent-tree.c:7727! with 3.17-rc3 Tomasz Chmielewski
2014-10-04 1:19 ` Tomasz Chmielewski
2014-04-02 8:29 [PATCH 00/27] Replace the old man page with asciidoc and man page for each btrfs subcommand Qu Wenruo
2014-04-02 8:29 ` [PATCH 01/27] btrfs-progs: Introduce asciidoc based man page and btrfs man page Qu Wenruo
2014-04-02 8:29 ` [PATCH 02/27] btrfs-progs: Convert man page for btrfs-subvolume Qu Wenruo
2014-04-02 8:29 ` [PATCH 03/27] btrfs-progs: Convert man page for filesystem subcommand Qu Wenruo
2014-04-02 8:29 ` [PATCH 04/27] btrfs-progs: Convert man page for btrfs-balance Qu Wenruo
2014-04-02 8:29 ` [PATCH 05/27] btrfs-progs: Convert man page for btrfs-device subcommand Qu Wenruo
2014-04-02 8:29 ` [PATCH 06/27] btrfs-progs: Convert man page for btrfs-scrub Qu Wenruo
2014-04-02 8:29 ` [PATCH 07/27] btrfs-progs: Convert man page for btrfs-check Qu Wenruo
2014-04-02 8:29 ` [PATCH 08/27] btrfs-progs: Convert man page for btrfs-rescue Qu Wenruo
2014-04-02 8:29 ` [PATCH 09/27] btrfs-progs: Convert man page for btrfs-inspect-internal Qu Wenruo
2014-04-02 8:29 ` [PATCH 10/27] btrfs-progs: Convert man page for btrfs-send Qu Wenruo
2014-04-02 8:29 ` [PATCH 11/27] btrfs-progs: Convert man page for btrfs-receive Qu Wenruo
2014-04-02 8:29 ` [PATCH 12/27] btrfs-progs: Convert man page for btrfs-quota Qu Wenruo
2014-04-02 8:29 ` [PATCH 13/27] btrfs-progs: Convert and enhance the man page of btrfs-qgroup Qu Wenruo
2014-04-02 8:29 ` [PATCH 14/27] btrfs-progs: Convert man page for btrfs-replace Qu Wenruo
2014-04-04 20:29 ` Marc MERLIN
2014-04-08 1:20 ` Qu Wenruo
2014-04-02 8:29 ` [PATCH 15/27] btrfs-progs: Convert man page for btrfs-dedup Qu Wenruo
2014-04-02 8:29 ` [PATCH 16/27] btrfs-progs: Convert man page for btrfsck Qu Wenruo
2014-04-02 8:29 ` [PATCH 17/27] btrfs-progs: Convert man page for btrfs-convert Qu Wenruo
2014-04-02 8:29 ` [PATCH 18/27] btrfs-progs: Convert man page for btrfs-debug-tree Qu Wenruo
2014-04-02 8:29 ` [PATCH 19/27] btrfs-progs: Convert man page for btrfs-find-root Qu Wenruo
2014-04-02 8:29 ` [PATCH 20/27] btrfs-progs: Convert man page for btrfs-image Qu Wenruo
2014-04-02 8:29 ` [PATCH 21/27] btrfs-progs: Convert man page for btrfs-map-logical Qu Wenruo
2014-04-02 8:29 ` [PATCH 22/27] btrfs-progs: Convert man page for btrfs-show-super Qu Wenruo
2014-04-02 8:29 ` [PATCH 23/27] btrfs-progs: Convert man page for btrfstune Qu Wenruo
2014-04-02 8:29 ` [PATCH 24/27] btrfs-progs: Convert man page for btrfs-zero-log Qu Wenruo
2014-04-04 18:46 ` Marc MERLIN
2014-04-05 22:00 ` cwillu
2014-04-05 22:02 ` Marc MERLIN
2014-04-05 22:03 ` Hugo Mills
2014-04-05 22:21 ` Marc MERLIN
2014-04-05 22:05 ` Marc MERLIN
2014-04-05 22:02 ` Hugo Mills
2014-04-08 1:42 ` Qu Wenruo
2014-04-11 5:54 ` Marc MERLIN
2014-04-02 8:29 ` [PATCH 25/27] btrfs-progs: Convert man page for fsck.btrfs Qu Wenruo
2014-04-02 8:29 ` [PATCH 26/27] btrfs-progs: Convert man page for mkfs.btrfs Qu Wenruo
2014-04-02 8:29 ` [PATCH 27/27] btrfs-progs: Switch to the new asciidoc Documentation Qu Wenruo
2014-04-02 13:24 ` [PATCH 00/27] Replace the old man page with asciidoc and man page for each btrfs subcommand Chris Mason
2014-04-02 14:47 ` Marc MERLIN
2014-04-03 20:33 ` Zach Brown
2014-04-02 17:29 ` David Sterba
2014-04-16 17:12 ` David Sterba
2014-04-16 17:16 ` [PATCH] btrfs-progs: doc: link btrfsck to btrfs-check David Sterba
2014-04-17 0:47 ` Qu Wenruo
2014-04-18 14:48 ` David Sterba
2014-04-30 12:14 ` WorMzy Tykashi
2014-05-05 14:57 ` David Sterba
2014-05-08 1:40 ` Qu Wenruo
2014-05-12 14:09 ` David Sterba
2014-06-03 9:38 ` WorMzy Tykashi
2014-06-03 12:19 ` David Sterba
2014-05-17 17:43 ` [PATCH 00/27] Replace the old man page with asciidoc and man page for each btrfs subcommand Hugo Mills
2014-05-17 18:22 ` Hugo Mills
2014-05-18 7:04 ` Qu Wenruo
2014-05-18 12:05 ` Hugo Mills
2014-05-18 16:02 ` Brendan Hide
2014-05-19 0:35 ` Qu Wenruo
2014-05-18 6:51 ` Qu Wenruo
2014-05-18 10:10 ` Hugo Mills
2014-05-19 13:02 ` Chris Mason
2014-05-19 14:01 ` David Sterba
2014-05-19 14:33 ` David Sterba
2014-05-20 0:34 ` Qu Wenruo
2014-05-20 11:08 ` David Sterba
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=20140412202542.GW7322@merlins.org \
--to=marc@merlins.org \
--cc=clm@fb.com \
--cc=jbacik@fb.com \
--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).