On Tue, May 17, 2016 at 10:47:27PM +0200, Adam Borowski wrote: > On Tue, May 17, 2016 at 12:23:44PM -0400, Chris Mason wrote: > > On Tue, May 17, 2016 at 05:14:51PM +0200, Adam Borowski wrote: > > > On Mon, May 16, 2016 at 05:06:55PM -0400, Chris Mason wrote: > > > > And now for the patch: > > > [...] > > > > > > I then tried your test case, and alas: > > > > > > Here's another run on an untainted kernel built with frame pointers etc: > > > > > > ./dammitdave foo > > > [ 236.500257] ------------[ cut here ]------------ > > > [ 236.500280] WARNING: CPU: 3 PID: 2940 at fs/btrfs/extent-tree.c:4233 > > > btrfs_free_reserved_data_space_noquota+0xdd/0x160 > > > [ 236.500285] Modules linked in: > > > [ 236.500295] CPU: 3 PID: 2940 Comm: dammit Not tainted 4.6.0debug+ #1 > > > [ 236.500301] Hardware name: System manufacturer System Product > > > Name/M4A77T, BIOS 2401 05/18/2011 > > > [ 236.500306] 0000000000000000 0000000042ec2fb0 ffff88022d5ffbd8 > > > ffffffff816b1920 > > > [ 236.500315] ffffffff81f86e3f 0000000042ec2fb0 0000000000000000 > > > 0000000000000000 > > > [ 236.500322] ffff88022d5ffc20 ffffffff81118c2c ffff88022dfd4000 > > > 0000108900000000 > > > [ 236.500330] Call Trace: > > > [ 236.500342] [<ffffffff816b1920>] dump_stack+0x60/0xa0 > > > [ 236.500352] [<ffffffff81118c2c>] __warn+0x10c/0x150 > > > [ 236.500360] [<ffffffff81118d78>] warn_slowpath_null+0x18/0x20 > > > [ 236.500368] [<ffffffff814e389d>] > > > btrfs_free_reserved_data_space_noquota+0xdd/0x160 > > > [ 236.500376] [<ffffffff814e3942>] > > > btrfs_free_reserved_data_space+0x22/0x40 > > > [ 236.500385] [<ffffffff8152eb78>] __btrfs_buffered_write+0x748/0xa20 > > > [ 236.500394] [<ffffffff81624bdc>] ? > > > security_inode_need_killpriv+0x3c/0x60 > > > [ 236.500401] [<ffffffff815345ef>] btrfs_file_write_iter+0x4ff/0xb90 > > > [ 236.500410] [<ffffffff81341847>] __vfs_write+0x117/0x1d0 > > > [ 236.500417] [<ffffffff8134317d>] vfs_write+0xdd/0x290 > > > [ 236.500425] [<ffffffff813748bd>] ? __fget_light+0x4d/0x120 > > > [ 236.500432] [<ffffffff813453ee>] SyS_pwrite64+0x9e/0xc0 > > > [ 236.500441] [<ffffffff81db989f>] entry_SYSCALL_64_fastpath+0x17/0x93 > > > [ 236.500446] ---[ end trace 7df747a6a0962ae6 ]--- > > > rm foo > > > [ 323.851851] BTRFS info (device sda1): btrfs_destroy_inode: leftover > > > csum_bytes > > > > Hmmm, some of your traces mentioned compression, do you have compression > > enabled? > > Yeah, I mount with noatime,compress=lzo. > > > I'll try to reproduce here, but could you try the same test on v4.5? > > I've ran it for half an hour on vanilla 4.5.4 without any patches, no > failures of any kind. > > > Also, if you can gdb your vmlinux (or btrfs.ko) and find this line: > > > > gdb> list *__btrfs_buffered_write+0x748 > > 0xffffffff8152eb78 is in __btrfs_buffered_write (fs/btrfs/file.c:1564). > 1559 > 1560 reserve_metadata: > 1561 ret = btrfs_delalloc_reserve_metadata(inode, > reserve_bytes); > 1562 if (ret) { > 1563 if (!only_release_metadata) > 1564 btrfs_free_reserved_data_space(inode, > pos, > 1565 > write_bytes); > 1566 else > 1567 btrfs_end_write_no_snapshoting(root); > 1568 break; >
Aha, so you're getting an enospc with compression on and the accounting doesn't line up. I should be able to trigger this. -chris -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html