Hi all, in a newly created btrfs filesystem, just after two days and ~4K dirs, 40K files, performance has degraded very bad. I did a chmod / chown the files once (that might have implications on the filesystem) but this is casual/expected use. Only notable thing in dmesg is [9 times] btrfs: block rsv returned -28 ------------[ cut here ]------------ WARNING: at fs/btrfs/extent-tree.c:6297 use_block_rsv+0x192/0x1a0 [btrfs]() Hardware name: ProLiant MicroServer Modules linked in: bnx2fc cnic uio fcoe libfcoe libfc scsi_transport_fc scsi_tgt vboxpci(OF) vboxnetadp(OF) vboxnetflt(OF) 8021q vboxdrv(OF) garp stp llc sunrpc ipt_REJECT ip6t_REJECT nf_conntrack_ipv6 nf_defrag_ipv6 xt_state nf_conntrack ip6table_filter ip6_tables ipv6 btrfs zlib_deflate libcrc32c kvm_amd kvm microcode pcspkr k10temp amd64_edac_mod edac_core edac_mce_amd i2c_piix4 tg3 sg shpchp ext4 mbcache jbd2 sd_mod crc_t10dif ahci libahci radeon ttm drm_kms_helper drm i2c_algo_bit i2c_core dm_mirror dm_region_hash dm_log dm_mod [last unloaded: nf_defrag_ipv4] Pid: 1859, comm: btrfs-transacti Tainted: GF W O 3.7.1 #1 Call Trace: [<ffffffff8105556f>] warn_slowpath_common+0x7f/0xc0 [<ffffffff810555ca>] warn_slowpath_null+0x1a/0x20 [<ffffffffa0406e02>] use_block_rsv+0x192/0x1a0 [btrfs] [<ffffffffa040bb9d>] btrfs_alloc_free_block+0x3d/0x210 [btrfs] [<ffffffffa0432ab1>] ? read_extent_buffer+0xd1/0x130 [btrfs] [<ffffffffa03f6eb0>] __btrfs_cow_block+0x130/0x560 [btrfs] [<ffffffffa03f7942>] btrfs_cow_block+0x102/0x210 [btrfs] [<ffffffffa03fad11>] btrfs_search_slot+0x391/0x810 [btrfs] [<ffffffffa04577f7>] __btrfs_write_out_cache+0x757/0x960 [btrfs] [<ffffffffa045b3ae>] ? btrfs_find_ref_cluster+0x5e/0x160 [btrfs] [<ffffffffa0457b72>] btrfs_write_out_cache+0xb2/0xf0 [btrfs] [<ffffffffa0409fe8>] btrfs_write_dirty_block_groups+0x238/0x270 [btrfs] [<ffffffffa041a2c1>] commit_cowonly_roots+0x171/0x250 [btrfs] [<ffffffffa041b120>] btrfs_commit_transaction+0x570/0xa20 [btrfs] [<ffffffffa041ba84>] ? start_transaction+0x94/0x430 [btrfs] [<ffffffff81079cb0>] ? wake_up_bit+0x40/0x40 [<ffffffffa0415d26>] transaction_kthread+0x1a6/0x220 [btrfs] [<ffffffffa0415b80>] ? btree_readpage_end_io_hook+0x290/0x290 [btrfs] [<ffffffffa0415b80>] ? btree_readpage_end_io_hook+0x290/0x290 [btrfs] [<ffffffff8107942e>] kthread+0xce/0xe0 [<ffffffff81079360>] ? kthread_freezable_should_stop+0x70/0x70 [<ffffffff8153e6ac>] ret_from_fork+0x7c/0xb0 [<ffffffff81079360>] ? kthread_freezable_should_stop+0x70/0x70 ---[ end trace 592323d6a331318d ]--- Kernel: Linux microserver 3.7.1 #1 SMP Sun Dec 30 21:34:59 EET 2012 x86_64 x86_64 x86_64 GNU/Linux Toos: Btrfs v0.20-rc1-37-g91d9eec # btrfs fi show Label: ''tm_0'' uuid: f2866a33-fe53-4fc0-98bf-52d347b43824 Total devices 1 FS bytes used 712.21GB devid 1 size 1.82TB used 714.04GB path /dev/sdb1 # btrfs fi df /mnt/dls Data: total=712.01GB, used=711.24GB System, DUP: total=8.00MB, used=80.00KB System: total=4.00MB, used=0.00 Metadata, DUP: total=1.00GB, used=998.53MB Metadata: total=8.00MB, used=0.00 Performance is horrible for the last 12 hours at least I tried remounting with noatime nothing changed I tried rebooting, stopping any services like smb etc. I tried defragmenting nothing changed Metadata seems full Darksatanic suggested That''s ENOSPC (Thanks to the guys at irc chanel for their support :) But how can I regain space on Metadata? Any suggestions? TM -- 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
TM <tmjuju <at> yahoo.com> writes: # btrfs fi df /mnt/dls Data: total=712.01GB, used=711.24GB System, DUP: total=8.00MB, used=80.00KB System: total=4.00MB, used=0.00 Metadata, DUP: total=1.00GB, used=998.53MB Metadata: total=8.00MB, used=0.00 btrfs fi show Label: ''tm_0'' uuid: f2866a33-fe53-4fc0-98bf-52d347b43824 Total devices 1 FS bytes used 712.21GB devid 1 size 1.82TB used 714.04GB path /dev/sdb1 ... [root@microserver mnt]# btrfs balance start -dusage=5 /mnt/dls/ Done, had to relocate 0 out of 716 chunks [root@microserver mnt]# btrfs balance start -dusage=10 /mnt/dls/ Done, had to relocate 0 out of 716 chunks [root@microserver mnt]# btrfs balance start -dusage=15 /mnt/dls/ Done, had to relocate 0 out of 716 chunks [root@microserver mnt]# btrfs balance start -dusage=25 /mnt/dls/ Done, had to relocate 0 out of 716 chunks [root@microserver mnt]# btrfs balance start -dusage=35 /mnt/dls/ Done, had to relocate 1 out of 716 chunks ... Meanwhile situation got worst .. [root@microserver ~]# btrfs fi df /mnt/dls/ Data: total=713.01GB, used=712.23GB System, DUP: total=8.00MB, used=80.00KB System: total=4.00MB, used=0.00 Metadata, DUP: total=1.00GB, used=999.31MB Metadata: total=8.00MB, used=0.00 and I kept getting more messages dmesg |grep "block rsv returned -28" |wc -l 60 (I had stared with only 9 messages just a few hours ago) So I decided to remove files I started to remove (rm -rfv) thousands of files and directories At first the rate was about 1 filedelete per second... Always monitoring usage while deleteing Utilll I got down to: # btrfs fi df /mnt/dls/ Data: total=712.01GB, used=638.04GB System, DUP: total=8.00MB, used=80.00KB System: total=4.00MB, used=0.00 Metadata, DUP: total=1.00GB, used=895.24MB Metadata: total=8.00MB, used=0.00 And then the filesystem became responsive again Back to 100MBps range from ~1MBps -- 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