Description of problem: Testing "btfs" on my Intel SSD by unpacking the kernel until the disk is full, it stops when the disk is nearly full and requires reboot. After reboot even "find" on the filesystem leads to severe btrfs messages and kernel failures. Version-Release number of selected component (if applicable): 2.6.33.5-112.fc13 How reproducible: always Steps to Reproduce: 1. Extract the a kernel tar file until the disk is full 2. e.g. cat extrac #!/bin/bash myd=`pwd` typeset -i i i=0 while true do let i=$i+1 echo $i cd $myd mkdir $i cd $i time tar xf ../linux-2.6.33.3.tar || exit 1 done 3. find Actual results: hangs, crashes, SEGV Expected results 1) Fill the disk without hangs or filesystem problems 2) When there are filesystem problems, do no BUG, but say "filesystem is corrupt, remounting read-only" Additional info: Jun 2 17:05:26 localhostm kernel: Btrfs loaded Jun 2 17:05:26 localhostm kernel: device fsid 5349d73882acbe45-7a970e3040a06b8 devid 1 transid 917 /dev/sdb1 Jun 2 17:05:27 localhostm kernel: Btrfs detected SSD devices, enabling SSD mode Jun 2 17:06:01 localhostm kernel: btrfs allocation failed flags 36, wanted 4096 Jun 2 17:06:01 localhostm kernel: space_info has 0 free, is full Jun 2 17:06:01 localhostm kernel: space_info total=19327352832, pinned=45416448, delalloc=0, may_use=0, used=19278188544, root=0, super=65536, reserved=3682304 Jun 2 17:06:01 localhostm kernel: block group 29360128 has 1073741824 bytes, 1073504256 used 172032 pinned 0 reserved Jun 2 17:06:01 localhostm kernel: block group has cluster?: no Jun 2 17:06:01 localhostm kernel: 0 blocks of free space at or bigger than bytes is Jun 2 17:06:01 localhostm kernel: block group 2176843776 has 134217728 bytes, 134213632 used 4096 pinned 0 reserved ... Jun 2 17:06:01 localhostm kernel: 0 blocks of free space at or bigger than bytes is Jun 2 17:06:01 localhostm kernel: ------------[ cut here ]------------ Jun 2 17:06:01 localhostm kernel: WARNING: at fs/btrfs/extent_io.c:3228 free_extent_buffer+0x25/0x27 [btrfs]() Jun 2 17:06:01 localhostm kernel: Hardware name: MS-7635 Jun 2 17:06:01 localhostm kernel: Modules linked in: btrfs zlib_deflate libcrc32c fuse sunrpc cpufreq_ondemand acpi_cpufreq freq_table ip6t_REJECT nf_conntrack_ipv6 ip6table_filter ip6_tables ipv6 uinput snd_hda_codec_intelhdmi snd_hda_codec_realtek snd_hda_intel snd_hda_codec snd_hwdep snd_seq snd_seq_device snd_pcm snd_timer microcode snd r8169 mii iTCO_wdt soundcore iTCO_vendor_support snd_page_alloc i2c_i801 usb_storage i915 drm_kms_helper drm i2c_algo_bit i2c_core video output [last unloaded: scsi_wait_scan] Jun 2 17:06:01 localhostm kernel: Pid: 2294, comm: find Not tainted 2.6.33.5-112.fc13.x86_64 #1 Jun 2 17:06:01 localhostm kernel: Call Trace: Jun 2 17:06:01 localhostm kernel: [<ffffffff8104b54c>] warn_slowpath_common+0x77/0x8f Jun 2 17:06:01 localhostm kernel: [<ffffffff8104b573>] warn_slowpath_null+0xf/0x11 Jun 2 17:06:01 localhostm kernel: [<ffffffffa02be6ba>] free_extent_buffer+0x25/0x27 [btrfs] Jun 2 17:06:01 localhostm kernel: [<ffffffffa0290530>] btrfs_release_path+0x3d/0x54 [btrfs] Jun 2 17:06:01 localhostm kernel: [<ffffffffa0295150>] btrfs_search_slot+0x4d2/0x51e [btrfs] Jun 2 17:06:01 localhostm kernel: [<ffffffff810f4f95>] ? get_partial_node+0x66/0x71 Jun 2 17:06:01 localhostm kernel: [<ffffffffa0295c75>] btrfs_insert_empty_items+0x65/0xb7 [btrfs] Jun 2 17:06:01 localhostm kernel: [<ffffffffa029c214>] run_one_delayed_ref+0x1d3/0x4b6 [btrfs] Jun 2 17:06:01 localhostm kernel: [<ffffffff810f4bce>] ? __slab_free+0x71/0x22e Jun 2 17:06:01 localhostm kernel: [<ffffffffa0298a53>] ? btrfs_put_delayed_ref+0x4e/0x53 [btrfs] Jun 2 17:06:01 localhostm kernel: [<ffffffffa029e275>] run_clustered_refs+0x250/0x2a2 [btrfs] Jun 2 17:06:01 localhostm kernel: [<ffffffffa029e390>] btrfs_run_delayed_refs+0xc9/0x17a [btrfs] Jun 2 17:06:01 localhostm kernel: [<ffffffffa02a7231>] __btrfs_end_transaction+0x65/0x141 [btrfs] Jun 2 17:06:01 localhostm kernel: [<ffffffffa02a7328>] btrfs_end_transaction+0xb/0xd [btrfs] Jun 2 17:06:01 localhostm kernel: [<ffffffffa02ac6dc>] btrfs_dirty_inode+0x48/0x50 [btrfs] Jun 2 17:06:01 localhostm kernel: [<ffffffff8111bdec>] __mark_inode_dirty+0x2f/0x126 Jun 2 17:06:01 localhostm kernel: [<ffffffff81113187>] touch_atime+0x102/0x125 Jun 2 17:06:01 localhostm kernel: [<ffffffff8110e8ae>] ? filldir+0x0/0xcb Jun 2 17:06:01 localhostm kernel: [<ffffffff8110eabb>] vfs_readdir+0x88/0xaf Jun 2 17:06:01 localhostm kernel: [<ffffffff8110ec21>] sys_getdents+0x7c/0xcc Jun 2 17:06:01 localhostm kernel: [<ffffffff81009b02>] system_call_fastpath+0x16/0x1b Jun 2 17:06:01 localhostm kernel: ---[ end trace 8ecc110dbfbc187f ]--- Jun 2 17:06:01 localhostm kernel: ------------[ cut here ]------------ Jun 2 17:06:01 localhostm kernel: kernel BUG at fs/btrfs/extent-tree.c:4752! Jun 2 17:06:01 localhostm kernel: invalid opcode: 0000 [#1] SMP Jun 2 17:06:01 localhostm kernel: last sysfs file: /sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.1/devnum Jun 2 17:06:01 localhostm kernel: CPU 2 Jun 2 17:06:01 localhostm kernel: Pid: 2294, comm: find Tainted: G W 2.6.33.5-112.fc13.x86_64 #1 H55M-ED55 (MS-7635) /MS-7635 Jun 2 17:06:01 localhostm kernel: RIP: 0010:[<ffffffffa029c218>] [<ffffffffa029c218>] run_one_delayed_ref+0x1d7/0x4b6 [btrfs] Jun 2 17:06:01 localhostm kernel: RSP: 0018:ffff880215bcbc08 EFLAGS: 00010286 Jun 2 17:06:01 localhostm kernel: RAX: 00000000ffffffe4 RBX: ffff8801f9c57ea0 RCX: 0000000000001064 Jun 2 17:06:01 localhostm kernel: RDX: ffff880215bcba88 RSI: 0000000000000046 RDI: 0000000000000000 Jun 2 17:06:01 localhostm kernel: RBP: ffff880215bcbcb8 R08: ffff880215bcb9c4 R09: 0000000000000000 Jun 2 17:06:01 localhostm kernel: R10: 0000000000000001 R11: ffff880215bcbc68 R12: ffff8801ebe1cf00 Jun 2 17:06:01 localhostm kernel: R13: ffff88021a367000 R14: ffff880215b78000 R15: ffff8801ec49f000 Jun 2 17:06:01 localhostm kernel: FS: 00007f566fb1a7a0(0000) GS:ffff880009080000(0000) knlGS:0000000000000000 Jun 2 17:06:01 localhostm kernel: CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 Jun 2 17:06:01 localhostm kernel: CR2: 00007fc227213000 CR3: 0000000215bab000 CR4: 00000000000006e0 Jun 2 17:06:01 localhostm kernel: DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 Jun 2 17:06:01 localhostm kernel: DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 Jun 2 17:06:01 localhostm kernel: Process find (pid: 2294, threadinfo ffff880215bca000, task ffff88021584aea0) Jun 2 17:06:01 localhostm kernel: Stack: Jun 2 17:06:01 localhostm kernel: ffffffff81a25b30 ffff8801e940a120 ffff880215bcbc68 ffffffff810f4bce Jun 2 17:06:01 localhostm kernel: <0> ffff880215bcbc78 0000000000000de7 0000000000000a73 0000000000000000 Jun 2 17:06:01 localhostm kernel: <0> ffff8801e940a120 ffffffffa0298a53 0000000000000002 0000000000000000 Jun 2 17:06:01 localhostm kernel: Call Trace: Jun 2 17:06:01 localhostm kernel: [<ffffffff810f4bce>] ? __slab_free+0x71/0x22e Jun 2 17:06:01 localhostm kernel: [<ffffffffa0298a53>] ? btrfs_put_delayed_ref+0x4e/0x53 [btrfs] Jun 2 17:06:01 localhostm kernel: [<ffffffffa029e275>] run_clustered_refs+0x250/0x2a2 [btrfs] Jun 2 17:06:01 localhostm kernel: [<ffffffffa029e390>] btrfs_run_delayed_refs+0xc9/0x17a [btrfs] Jun 2 17:06:01 localhostm kernel: [<ffffffffa02a7231>] __btrfs_end_transaction+0x65/0x141 [btrfs] Jun 2 17:06:01 localhostm kernel: [<ffffffffa02a7328>] btrfs_end_transaction+0xb/0xd [btrfs] Jun 2 17:06:01 localhostm kernel: [<ffffffffa02ac6dc>] btrfs_dirty_inode+0x48/0x50 [btrfs] Jun 2 17:06:01 localhostm kernel: [<ffffffff8111bdec>] __mark_inode_dirty+0x2f/0x126 Jun 2 17:06:01 localhostm kernel: [<ffffffff81113187>] touch_atime+0x102/0x125 Jun 2 17:06:01 localhostm kernel: [<ffffffff8110e8ae>] ? filldir+0x0/0xcb Jun 2 17:06:01 localhostm kernel: [<ffffffff8110eabb>] vfs_readdir+0x88/0xaf Jun 2 17:06:01 localhostm kernel: [<ffffffff8110ec21>] sys_getdents+0x7c/0xcc Jun 2 17:06:01 localhostm kernel: [<ffffffff81009b02>] system_call_fastpath+0x16/0x1b Jun 2 17:06:01 localhostm kernel: Code: 00 00 08 48 8d 4d b0 4c 8d 45 c8 49 8b 76 20 41 b9 01 00 00 00 48 89 c2 4c 89 ff c7 45 c8 33 00 00 00 e8 fc 99 ff ff 85 c0 74 04 <0f> 0b eb fe 4c 8b 33 8b 73 40 4c 89 f7 e8 81 bb ff ff 89 c0 ba Jun 2 17:06:01 localhostm kernel: RIP [<ffffffffa029c218>] run_one_delayed_ref+0x1d7/0x4b6 [btrfs] Jun 2 17:06:01 localhostm kernel: RSP <ffff880215bcbc08> Jun 2 17:06:01 localhostm kernel: ---[ end trace 8ecc110dbfbc1880 ]--- Jun 2 17:06:02 localhostm kernel: btrfs allocation failed flags 36, wanted 4096 Jun 2 17:06:02 localhostm kernel: space_info has 0 free, is full Jun 2 17:06:02 localhostm kernel: space_info total=19327352832, pinned=45416448, delalloc=0, may_use=0, used=19278188544, root=0, super=65536, reserved=3682304 Jun 2 17:06:02 localhostm kernel: block group 29360128 has 1073741824 bytes, 1073504256 used 172032 pinned 0 reserved Jun 2 17:06:02 localhostm kernel: block group has cluster?: no Jun 2 17:06:02 localhostm kernel: 0 blocks of free space at or bigger than bytes is Jun 2 17:06:02 localhostm kernel: block group 2176843776 has 134217728 bytes, 134213632 used 4096 pinned 0 reserved Jun 2 17:06:02 localhostm kernel: block group has cluster?: no ... Jun 2 17:06:02 localhostm kernel: 0 blocks of free space at or bigger than bytes is Jun 2 17:06:02 localhostm kernel: ------------[ cut here ]------------ Jun 2 17:06:02 localhostm kernel: WARNING: at fs/btrfs/extent_io.c:3228 free_extent_buffer+0x25/0x27 [btrfs]() Jun 2 17:06:02 localhostm kernel: Hardware name: MS-7635 Jun 2 17:06:02 localhostm kernel: Modules linked in: btrfs zlib_deflate libcrc32c fuse sunrpc cpufreq_ondemand acpi_cpufreq freq_table ip6t_REJECT nf_conntrack_ipv6 ip6table_filter ip6_tables ipv6 uinput snd_hda_codec_intelhdmi snd_hda_codec_realtek snd_hda_intel snd_hda_codec snd_hwdep snd_seq snd_seq_device snd_pcm snd_timer microcode snd r8169 mii iTCO_wdt soundcore iTCO_vendor_support snd_page_alloc i2c_i801 usb_storage i915 drm_kms_helper drm i2c_algo_bit i2c_core video output [last unloaded: scsi_wait_scan] Jun 2 17:06:02 localhostm kernel: Pid: 2293, comm: btrfs-transacti Tainted: G D W 2.6.33.5-112.fc13.x86_64 #1 Jun 2 17:06:02 localhostm kernel: Call Trace: Jun 2 17:06:02 localhostm kernel: [<ffffffff8104b54c>] warn_slowpath_common+0x77/0x8f Jun 2 17:06:02 localhostm kernel: [<ffffffff8104b573>] warn_slowpath_null+0xf/0x11 Jun 2 17:06:02 localhostm kernel: [<ffffffffa02be6ba>] free_extent_buffer+0x25/0x27 [btrfs] Jun 2 17:06:02 localhostm kernel: [<ffffffffa0294dcf>] btrfs_search_slot+0x151/0x51e [btrfs] Jun 2 17:06:02 localhostm kernel: [<ffffffffa0295c75>] btrfs_insert_empty_items+0x65/0xb7 [btrfs] Jun 2 17:06:02 localhostm kernel: [<ffffffffa029c214>] run_one_delayed_ref+0x1d3/0x4b6 [btrfs] Jun 2 17:06:02 localhostm kernel: [<ffffffff8120659e>] ? __bitmap_weight+0x40/0x8f Jun 2 17:06:02 localhostm kernel: [<ffffffff8103acad>] ? update_curr+0xbf/0x168 Jun 2 17:06:02 localhostm kernel: [<ffffffffa029e275>] run_clustered_refs+0x250/0x2a2 [btrfs] Jun 2 17:06:02 localhostm kernel: [<ffffffffa029e390>] btrfs_run_delayed_refs+0xc9/0x17a [btrfs] Jun 2 17:06:02 localhostm kernel: [<ffffffffa02a7e59>] btrfs_commit_transaction+0x7d/0x600 [btrfs] Jun 2 17:06:02 localhostm kernel: [<ffffffff8142a158>] ? mutex_lock+0x24/0x4b Jun 2 17:06:02 localhostm kernel: [<ffffffff8106480b>] ? autoremove_wake_function+0x0/0x34 Jun 2 17:06:02 localhostm kernel: [<ffffffffa02a7922>] ? start_transaction+0x11d/0x129 [btrfs] Jun 2 17:06:02 localhostm kernel: [<ffffffffa02a3a52>] transaction_kthread+0x16a/0x209 [btrfs] Jun 2 17:06:02 localhostm kernel: [<ffffffffa02a38e8>] ? transaction_kthread+0x0/0x209 [btrfs] Jun 2 17:06:02 localhostm kernel: [<ffffffff810643bb>] kthread+0x7a/0x82 Jun 2 17:06:02 localhostm kernel: [<ffffffff8100a924>] kernel_thread_helper+0x4/0x10 Jun 2 17:06:02 localhostm kernel: [<ffffffff81064341>] ? kthread+0x0/0x82 Jun 2 17:06:02 localhostm kernel: [<ffffffff8100a920>] ? kernel_thread_helper+0x0/0x10 Jun 2 17:06:02 localhostm kernel: ---[ end trace 8ecc110dbfbc1881 ]--- Jun 2 17:06:02 localhostm kernel: ------------[ cut here ]------------
Sorry, this is an ENOSPC bug. We've just recently redone all of this to make it more robust. The only thing I can say is move to 2.6.35-rc2 or later, or don't fill your disk.