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.
Of course, all of those are bad, but I'm unfortunately used to seeing them
It wasn't hanging forever every few minutes, so it looks like it was just
working
very slowly.
The problem does not seem to be just rm though, du is taking way way too
long too. I started one, it's been running for 30mn now.
Interestingly, sending ^C to that du takes 15 seconds to respond, so it
seems that each system call is just slow.
I checked that btrfs scrub is not running.
What else can I check from here?
Thanks,
Marc
--
"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/
--
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