Yoshihiro Takahashi
2009-Jan-30 05:35 UTC
report, kernel BUG at fs/btrfs/extent-tree.c:3106
Hi. I create many files on btrfs of 16GB partition. may 13,000,000 files. I get this report. I think about the following fix. When there is not space, return of ENOSPC. Or add lock in free extents. Best regards, -- kernel: btrfs searching for 4096 bytes, num_bytes 4096, loop 2, allowed_alloc 0 kernel: btrfs allocation failed flags 36, wanted 4096 kernel: space_info has 65536 free, is full kernel: block group 29360128 has 1073741824 bytes, 1034362880 used 39313408 pinned 0 reserved kernel: 0 blocks of free space at or bigger than bytes is kernel: block group 2176843776 has 859111424 bytes, 826671104 used 32440320 pinned 0 reserved kernel: 0 blocks of free space at or bigger than bytes is kernel: block group 3035955200 has 859111424 bytes, 821129216 used 37982208 pinned 0 reserved kernel: 0 blocks of free space at or bigger than bytes is kernel: block group 3895066624 has 859111424 bytes, 831062016 used 28049408 pinned 0 reserved kernel: 0 blocks of free space at or bigger than bytes is kernel: block group 4754178048 has 859111424 bytes, 839311360 used 19800064 pinned 0 reserved kernel: 0 blocks of free space at or bigger than bytes is kernel: block group 5613289472 has 859111424 bytes, 840081408 used 19030016 pinned 0 reserved kernel: 0 blocks of free space at or bigger than bytes is kernel: ------------[ cut here ]------------ kernel: invalid opcode: 0000 [#1] SMP kernel: last sysfs file: /sys/class/bdi/7:7/power/wakeup kernel: block group 6472400896 has 859111424 bytes, 841170944 used 17940480 pinned 0 reserved kernel: 0 blocks of free space at or bigger than bytes is kernel: block group 7331512320 has 859111424 bytes, 840855552 used 18255872 pinned 0 reserved kernel: 0 blocks of free space at or bigger than bytes is kernel: block group 8190623744 has 859111424 bytes, 850055168 used 9056256 pinned 0 reserved kernel: 0 blocks of free space at or bigger than bytes is kernel: ------------[ cut here ]------------ kernel: kernel BUG at fs/btrfs/extent-tree.c:3106! kernel: invalid opcode: 0000 [#1] SMP kernel: last sysfs file: /sys/class/bdi/7:7/power/wakeup kernel: CPU 2 kernel: Modules linked in: loop btrfs zlib_deflate vfat fat ipv6 cpufreq_powersave firewire_ohci firewire_core crc_itu_t dm_mirror dm_region_hash dm_log dm_multipath dm_mod sbshc button battery acpi_memhotplug ac ehci_hcd ohci_hcd k8temp hwmon amd_rng i2c_amd8111 i2c_core snd_intel8x0 snd_ac97_codec ac97_bus snd_pcm_oss snd_mixer_oss snd_pcm snd_timer snd soundcore snd_page_alloc tg3 libphy floppy ide_cd_mod cdrom ext3 jbd sata_sil libata aic79xx scsi_transport_spi sd_mod scsi_mod [last unloaded: x_tables] kernel: Pid: 6258, comm: mkfbmt Tainted: G M 2.6.29-rc3 #1 kernel: RIP: 0010:[<ffffffffa0455ed0>] [<ffffffffa0455ed0>] __btrfs_reserve_extent+0x28c/0x2a1 [btrfs] kernel: RSP: 0018:ffff8801191651a8 EFLAGS: 00010246 kernel: RAX: ffff88012ed3fb28 RBX: ffff880019d19180 RCX: 00000000ffffffff kernel: RDX: 0000000000007575 RSI: 0000000000000246 RDI: ffff88012ed3fb24 kernel: RBP: ffff880119165218 R08: 00000000ffffffff R09: 0000000000000000 kernel: R10: ffffffff8087b6a0 R11: ffff8801191650a8 R12: ffff88012ed3fb08 kernel: R13: ffff88012ed3fac0 R14: 0000000000001000 R15: ffff8800b758bdb8 kernel: FS: 00007f4b4040e6e0(0000) GS:ffff88012ec7a5c0(0000) knlGS:00000000f7f6b6c0 kernel: CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b kernel: CR2: 00000000004bc540 CR3: 000000010026e000 CR4: 00000000000006e0 kernel: Stack: kernel: ffff880100000024 00000002176b8000 00000001c0000000 0000000000000000 kernel: 0000000000001000 ffff8801191652b8 ffff880123cbb800 0000000000000002 kernel: Call Trace: kernel: [<ffffffffa0456401>] btrfs_alloc_extent+0x47/0x9f [btrfs] kernel: [<ffffffffa04565a3>] btrfs_alloc_free_block+0x5c/0x86 [btrfs] kernel: [<ffffffffa0448269>] __btrfs_cow_block+0x1f9/0x84e [btrfs] kernel: [<ffffffffa0479ce8>] ? test_range_bit+0x49/0xe2 [btrfs] kernel: [<ffffffffa0448abc>] btrfs_cow_block+0x1fe/0x20d [btrfs] kernel: [<ffffffffa044e431>] btrfs_search_slot+0x355/0x805 [btrfs] kernel: [<ffffffffa0478ab3>] ? free_extent_state+0x6d/0x72 [btrfs] kernel: [<ffffffffa045166c>] lookup_extent_backref+0x3d/0xe2 [btrfs] kernel: [<ffffffffa0447bf4>] ? btrfs_release_path+0x47/0x5f [btrfs] kernel: [<ffffffffa0453b3e>] free_extents+0xc8/0x705 [btrfs] kernel: [<ffffffffa0478ab3>] ? free_extent_state+0x6d/0x72 [btrfs] kernel: [<ffffffffa04790e5>] ? clear_extent_bit+0x1c0/0x1f2 [btrfs] kernel: [<ffffffffa045441c>] del_pending_extents+0x2a1/0x2e5 [btrfs] kernel: [<ffffffffa0454dda>] __btrfs_inc_extent_ref+0x1cb/0x1e4 [btrfs] kernel: [<ffffffffa0474a77>] ? btrfs_key_blockptr+0xbd/0xcb [btrfs] kernel: [<ffffffffa0452c0e>] btrfs_inc_ref+0x36e/0x3e4 [btrfs] kernel: [<ffffffffa0454c0f>] ? __btrfs_inc_extent_ref+0x0/0x1e4 [btrfs] kernel: [<ffffffffa047d822>] ? copy_extent_buffer+0x124/0x154 [btrfs] kernel: [<ffffffffa04484bc>] __btrfs_cow_block+0x44c/0x84e [btrfs] kernel: [<ffffffffa047d3fb>] ? map_extent_buffer+0x92/0xd8 [btrfs] kernel: [<ffffffffa0448abc>] btrfs_cow_block+0x1fe/0x20d [btrfs] kernel: [<ffffffffa044e431>] btrfs_search_slot+0x355/0x805 [btrfs] kernel: [<ffffffffa0449173>] ? generic_bin_search+0x1a6/0x1bd [btrfs] kernel: [<ffffffffa0485127>] ? btrfs_tree_unlock+0xd/0x11 [btrfs] kernel: [<ffffffffa044e95e>] btrfs_insert_empty_items+0x7d/0x4bd [btrfs] kernel: [<ffffffffa044e8b1>] ? btrfs_search_slot+0x7d5/0x805 [btrfs] kernel: [<ffffffff8033494a>] ? chksum_update+0x10/0x18 kernel: [<ffffffff8033121a>] ? crypto_shash_update+0x7f/0x9b kernel: [<ffffffff80331227>] ? crypto_shash_update+0x8c/0x9b kernel: [<ffffffffa045ca1c>] insert_with_overflow+0x34/0x101 [btrfs] kernel: [<ffffffffa045cb85>] btrfs_insert_dir_item+0x9c/0x286 [btrfs] kernel: [<ffffffffa0447c2f>] ? btrfs_free_path+0x23/0x28 [btrfs] kernel: [<ffffffffa0469708>] btrfs_add_link+0x76/0xf4 [btrfs] kernel: [<ffffffffa04697bb>] btrfs_add_nondir+0x35/0x5b [btrfs] kernel: [<ffffffffa0469acc>] btrfs_create+0x121/0x1e9 [btrfs] kernel: [<ffffffff802b0a2c>] vfs_create+0xdb/0x14a kernel: [<ffffffff802b0f1b>] do_filp_open+0x242/0x805 kernel: [<ffffffff80250bb2>] ? enqueue_hrtimer+0x68/0x75 kernel: [<ffffffff802bbb80>] ? mntput_no_expire+0x22/0x12b kernel: [<ffffffff8034d02c>] ? __strncpy_from_user+0x18/0x42 kernel: [<ffffffff802bac8f>] ? alloc_fd+0x64/0xff kernel: [<ffffffff802a750d>] do_sys_open+0x51/0xd2 kernel: [<ffffffff802a75a9>] sys_open+0x1b/0x1d kernel: [<ffffffff8020c0db>] system_call_fastpath+0x16/0x1b kernel: Code: 48 ff ff ff e8 86 6f de df 4c 89 f6 48 89 df e8 95 53 03 00 41 fe 84 24 74 ff ff ff 4d 8b 24 24 eb 96 49 8d 7d 60 e8 1a b4 df df <0f> 0b eb fe 48 83 c4 48 89 c8 5b 41 5c 41 5d 41 5e 41 5f c9 c3 kernel: DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 kernel: DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 kernel: Process mkfbmt (pid: 6258, threadinfo ffff880119164000, task ffff88012ce70fa0) kernel: Stack: kernel: 00000001c0000000 ffff8801191652b8 0000000000000000 0000000000000000 kernel: ffff880100000024 00000002176b8000 00000001c0000000 0000000000000000 kernel: 0000000000001000 ffff8801191652b8 ffff880123cbb800 0000000000000002 kernel: Call Trace: kernel: [<ffffffffa0456401>] btrfs_alloc_extent+0x47/0x9f [btrfs] kernel: [<ffffffffa04565a3>] btrfs_alloc_free_block+0x5c/0x86 [btrfs] kernel: [<ffffffffa0448269>] __btrfs_cow_block+0x1f9/0x84e [btrfs] kernel: [<ffffffffa0479ce8>] ? test_range_bit+0x49/0xe2 [btrfs] kernel: [<ffffffffa0448abc>] btrfs_cow_block+0x1fe/0x20d [btrfs] kernel: [<ffffffffa044e431>] btrfs_search_slot+0x355/0x805 [btrfs] kernel: [<ffffffffa0478ab3>] ? free_extent_state+0x6d/0x72 [btrfs] kernel: [<ffffffffa045166c>] lookup_extent_backref+0x3d/0xe2 [btrfs] kernel: [<ffffffffa0447bf4>] ? btrfs_release_path+0x47/0x5f [btrfs] kernel: [<ffffffffa0453b3e>] free_extents+0xc8/0x705 [btrfs] kernel: [<ffffffffa0478ab3>] ? free_extent_state+0x6d/0x72 [btrfs] kernel: [<ffffffffa04790e5>] ? clear_extent_bit+0x1c0/0x1f2 [btrfs] kernel: [<ffffffffa045441c>] del_pending_extents+0x2a1/0x2e5 [btrfs] kernel: [<ffffffffa0454dda>] __btrfs_inc_extent_ref+0x1cb/0x1e4 [btrfs] kernel: [<ffffffffa0474a77>] ? btrfs_key_blockptr+0xbd/0xcb [btrfs] kernel: [<ffffffffa0452c0e>] btrfs_inc_ref+0x36e/0x3e4 [btrfs] kernel: [<ffffffffa0454c0f>] ? __btrfs_inc_extent_ref+0x0/0x1e4 [btrfs] kernel: [<ffffffffa047d822>] ? copy_extent_buffer+0x124/0x154 [btrfs] kernel: [<ffffffffa04484bc>] __btrfs_cow_block+0x44c/0x84e [btrfs] kernel: [<ffffffffa047d3fb>] ? map_extent_buffer+0x92/0xd8 [btrfs] kernel: [<ffffffffa0448abc>] btrfs_cow_block+0x1fe/0x20d [btrfs] kernel: [<ffffffffa044e431>] btrfs_search_slot+0x355/0x805 [btrfs] kernel: [<ffffffffa0449173>] ? generic_bin_search+0x1a6/0x1bd [btrfs] kernel: [<ffffffffa0485127>] ? btrfs_tree_unlock+0xd/0x11 [btrfs] kernel: [<ffffffffa044e95e>] btrfs_insert_empty_items+0x7d/0x4bd [btrfs] kernel: [<ffffffffa044e8b1>] ? btrfs_search_slot+0x7d5/0x805 [btrfs] kernel: [<ffffffff8033494a>] ? chksum_update+0x10/0x18 kernel: [<ffffffff8033121a>] ? crypto_shash_update+0x7f/0x9b kernel: [<ffffffff80331227>] ? crypto_shash_update+0x8c/0x9b kernel: [<ffffffffa045ca1c>] insert_with_overflow+0x34/0x101 [btrfs] kernel: [<ffffffffa045cb85>] btrfs_insert_dir_item+0x9c/0x286 [btrfs] kernel: [<ffffffffa0447c2f>] ? btrfs_free_path+0x23/0x28 [btrfs] kernel: [<ffffffffa0469708>] btrfs_add_link+0x76/0xf4 [btrfs] kernel: [<ffffffffa04697bb>] btrfs_add_nondir+0x35/0x5b [btrfs] kernel: [<ffffffffa0469acc>] btrfs_create+0x121/0x1e9 [btrfs] kernel: [<ffffffff802b0a2c>] vfs_create+0xdb/0x14a kernel: [<ffffffff802b0f1b>] do_filp_open+0x242/0x805 kernel: [<ffffffff80250bb2>] ? enqueue_hrtimer+0x68/0x75 kernel: [<ffffffff802bbb80>] ? mntput_no_expire+0x22/0x12b kernel: [<ffffffff8034d02c>] ? __strncpy_from_user+0x18/0x42 kernel: [<ffffffff802bac8f>] ? alloc_fd+0x64/0xff kernel: [<ffffffff802a750d>] do_sys_open+0x51/0xd2 kernel: [<ffffffff802a75a9>] sys_open+0x1b/0x1d kernel: [<ffffffff8020c0db>] system_call_fastpath+0x16/0x1b kernel: Code: 48 ff ff ff e8 86 6f de df 4c 89 f6 48 89 df e8 95 53 03 00 41 fe 84 24 74 ff ff ff 4d 8b 24 24 eb 96 49 8d 7d 60 e8 1a b4 df df <0f> 0b eb fe 48 83 c4 48 89 c8 5b 41 5c 41 5d 41 5e 41 5f c9 c3 kernel: RIP [<ffffffffa0455ed0>] __btrfs_reserve_extent+0x28c/0x2a1 [btrfs] kernel: RSP <ffff8801191651a8> kernel: ---[ end trace 8ed7045dcebac288 ]--- # btrfs-show /dev/sda2 failed to read /dev/hdc Label: none uuid: 4f60b320-c71f-4508-a715-xxxxxxxxxxxx Total devices 1 FS bytes used 7.19GB devid 1 size 16.00GB used 15.84GB path /dev/sda2 # btrfsck /dev/sda2 found 7719591936 bytes used err is 0 total csum bytes: 4264 total tree bytes: 7715225600 btree space waste bytes: 679367157 file data blocks allocated: 6463488 referenced 4362240 Btrfs Btrfs v0.18 -- 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
On Fri, Jan 30, 2009 at 02:35:28PM +0900, Yoshihiro Takahashi wrote:> Hi. > > I create many files on btrfs of 16GB partition. > may 13,000,000 files. > I get this report. > > I think about the following fix. > When there is not space, return of ENOSPC. > Or add lock in free extents. >Are you just creating files, or are you doing something else? Thanks, Josef -- 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
Yoshihiro Takahashi
2009-Feb-02 07:00 UTC
Re: report, kernel BUG at fs/btrfs/extent-tree.c:3106
Hi, Josef On Fri, 30 Jan 2009 08:49:35 -0500 Josef Bacik <jbacik@redhat.com> wrote:> On Fri, Jan 30, 2009 at 02:35:28PM +0900, Yoshihiro Takahashi wrote: > > Hi. > > > > I create many files on btrfs of 16GB partition. > > may 13,000,000 files. > > I get this report. > > > > I think about the following fix. > > When there is not space, return of ENOSPC. > > Or add lock in free extents. > > > > Are you just creating files, or are you doing something else? Thanks, > > Josef > --I made a lot of files. Perhaps surpass 13,000,000 file. I created directry first. I get this BUG when I made the file afterwards. I got the following report to count of the files when I performed find. Best regards, Yoshihiro Takahashi kernel: Btrfs loaded kernel: device fsid 2047df6816b4db3c-c6db45ac0ec98490 <6>devid 1 transid 126 /dev/sda2 kernel: btrfs searching for 4096 bytes, num_bytes 4096, loop 2, allowed_alloc 0 kernel: btrfs allocation failed flags 36, wanted 4096 kernel: space_info has 65536 free, is full kernel: block group 29360128 has 1073741824 bytes, 1057210368 used 16465920 pinned 0 reserved kernel: 0 blocks of free space at or bigger than bytes is kernel: block group 1103101952 has 859111424 bytes, 842813440 used 16297984 pinned 0 reserved kernel: 0 blocks of free space at or bigger than bytes is kernel: block group 1962213376 has 859111424 bytes, 830881792 used 28229632 pinned 0 reserved kernel: 0 blocks of free space at or bigger than bytes is kernel: block group 2821324800 has 859111424 bytes, 816119808 used 42991616 pinned 0 reserved kernel: 0 blocks of free space at or bigger than bytes is kernel: block group 3680436224 has 859111424 bytes, 823795712 used 35315712 pinned 0 reserved kernel: 0 blocks of free space at or bigger than bytes is kernel: block group 4539547648 has 859111424 bytes, 830922752 used 28188672 pinned 0 reserved kernel: 0 blocks of free space at or bigger than bytes is kernel: block group 5398659072 has 859111424 bytes, 830865408 used 28246016 pinned 0 reserved kernel: 0 blocks of free space at or bigger than bytes is kernel: block group 6257770496 has 859111424 bytes, 815796224 used 43315200 pinned 0 reserved kernel: 0 blocks of free space at or bigger than bytes is kernel: block group 7116881920 has 859111424 bytes, 832589824 used 26521600 pinned 0 reserved kernel: 0 blocks of free space at or bigger than bytes is kernel: ------------[ cut here ]------------ kernel: kernel BUG at fs/btrfs/extent-tree.c:3106! kernel: invalid opcode: 0000 [#1] SMP kernel: last sysfs file: /sys/class/misc/btrfs-control/dev kernel: CPU 1 kernel: Modules linked in: btrfs zlib_deflate ipv6 cpufreq_powersave firewire_ohci firewire_core crc_itu_t dm_mirror dm_region_hash dm_log dm_multipath dm_mod sbshc button battery acpi_memhotplug ac ehci_hcd ohci_hcd k8temp hwmon amd_rng i2c_amd8111 i2c_core snd_intel8x0 snd_ac97_codec ac97_bus snd_pcm_oss snd_mixer_oss snd_pcm snd_timer snd soundcore snd_page_alloc tg3 libphy floppy ide_cd_mod cdrom ext3 jbd sata_sil libata aic79xx scsi_transport_spi sd_mod scsi_mod [last unloaded: x_tables] kernel: Pid: 5289, comm: find Not tainted 2.6.29-rc3 #1 kernel: RIP: 0010:[<ffffffffa0455ed0>] [<ffffffffa0455ed0>] __btrfs_reserve_extent+0x28c/0x2a1 [btrfs] kernel: RSP: 0018:ffff880116e37498 EFLAGS: 00010246 kernel: RAX: ffff88012a0aed28 RBX: ffff88012d8e57c0 RCX: 00000000ffffffff kernel: RDX: 0000000000008181 RSI: 0000000000000246 RDI: ffff88012a0aed24 kernel: RBP: ffff880116e37508 R08: 00000000ffffffff R09: 0000000000000000 kernel: R10: ffffffff8087b6a0 R11: ffff880116e37398 R12: ffff88012a0aed08 kernel: R13: ffff88012a0aecc0 R14: 0000000000001000 R15: ffff88011e1f54c0 kernel: FS: 00007f459c7846e0(0000) GS:ffff88012ec7adc0(0000) knlGS:00000000f7fca6c0 kernel: CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b kernel: CR2: 0000000000512828 CR3: 0000000116e32000 CR4: 00000000000006e0 kernel: DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 kernel: DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 kernel: Process find (pid: 5289, threadinfo ffff880116e36000, task ffff88012bb04fe0) kernel: Stack: kernel: 00000001db66c000 ffff880116e375a8 0000000000000000 0000000000000000 kernel: ffff880000000024 ffff88011e300b38 00000001db66c000 0000000000000000 kernel: 0000000000001000 ffff880116e375a8 ffff88012b50d000 0000000000000002 kernel: Call Trace: kernel: [<ffffffffa0456401>] btrfs_alloc_extent+0x47/0x9f [btrfs] kernel: [<ffffffffa04565a3>] btrfs_alloc_free_block+0x5c/0x86 [btrfs] kernel: [<ffffffffa044d886>] split_leaf+0x180/0x9d6 [btrfs] kernel: [<ffffffffa044e88c>] btrfs_search_slot+0x7b0/0x805 [btrfs] kernel: [<ffffffffa0474da8>] ? btrfs_item_offset+0xba/0xc7 [btrfs] kernel: [<ffffffffa044f7f0>] btrfs_insert_some_items+0xac/0x5ed [btrfs] kernel: [<ffffffffa0479523>] ? set_extent_bit+0x264/0x295 [btrfs] kernel: [<ffffffff8027a06b>] ? unlock_page+0x24/0x29 kernel: [<ffffffffa047cc7e>] ? set_extent_buffer_dirty+0x10b/0x11e [btrfs] kernel: [<ffffffffa0485127>] ? btrfs_tree_unlock+0xd/0x11 [btrfs] kernel: [<ffffffffa0451b7f>] insert_extents+0x17a/0x3a0 [btrfs] kernel: [<ffffffffa04539d7>] finish_current_insert+0x4b2/0x551 [btrfs] kernel: [<ffffffffa0454dc4>] __btrfs_inc_extent_ref+0x1b5/0x1e4 [btrfs] kernel: [<ffffffffa0474a77>] ? btrfs_key_blockptr+0xbd/0xcb [btrfs] kernel: [<ffffffffa0452c0e>] btrfs_inc_ref+0x36e/0x3e4 [btrfs] kernel: [<ffffffffa0454c0f>] ? __btrfs_inc_extent_ref+0x0/0x1e4 [btrfs] kernel: [<ffffffffa047d822>] ? copy_extent_buffer+0x124/0x154 [btrfs] kernel: [<ffffffffa04484bc>] __btrfs_cow_block+0x44c/0x84e [btrfs] kernel: [<ffffffffa0479ce8>] ? test_range_bit+0x49/0xe2 [btrfs] kernel: [<ffffffffa0448abc>] btrfs_cow_block+0x1fe/0x20d [btrfs] kernel: [<ffffffffa044e431>] btrfs_search_slot+0x355/0x805 [btrfs] kernel: [<ffffffff804cad27>] ? thread_return+0x3e/0xa4 kernel: [<ffffffff802a2752>] ? cache_alloc_refill+0x145/0x1c4 kernel: [<ffffffffa045ec6f>] btrfs_lookup_inode+0x2c/0xa1 [btrfs] kernel: [<ffffffffa046613c>] btrfs_update_inode+0x44/0xad [btrfs] kernel: [<ffffffff802b46e9>] ? filldir64+0x0/0xc4 kernel: [<ffffffff802b46e9>] ? filldir64+0x0/0xc4 kernel: [<ffffffffa04692a2>] btrfs_dirty_inode+0x3c/0x4f [btrfs] kernel: [<ffffffff802c0d1c>] __mark_inode_dirty+0x30/0x175 kernel: [<ffffffff802b46e9>] ? filldir64+0x0/0xc4 kernel: [<ffffffff802b92bd>] touch_atime+0x10f/0x120 kernel: [<ffffffff802b4427>] vfs_readdir+0x8f/0xaa kernel: [<ffffffff802b4826>] sys_getdents64+0x79/0xbf kernel: [<ffffffff8020c0db>] system_call_fastpath+0x16/0x1b kernel: Code: 48 ff ff ff e8 86 6f de df 4c 89 f6 48 89 df e8 95 53 03 00 41 fe 84 24 74 ff ff ff 4d 8b 24 24 eb 96 49 8d 7d 60 e8 1a b4 df df <0f> 0b eb fe 48 83 c4 48 89 c8 5b 41 5c 41 5d 41 5e 41 5f c9 c3 kernel: RIP [<ffffffffa0455ed0>] __btrfs_reserve_extent+0x28c/0x2a1 [btrfs] kernel: RSP <ffff880116e37498> kernel: ---[ end trace 5bfb95b22897a3f4 ]--- kernel: btrfs searching for 4096 bytes, num_bytes 4096, loop 2, allowed_alloc 0 kernel: btrfs allocation failed flags 36, wanted 4096 kernel: space_info has 65536 free, is full kernel: block group 29360128 has 1073741824 bytes, 1057210368 used 16465920 pinned 0 reserved kernel: 0 blocks of free space at or bigger than bytes is kernel: block group 1103101952 has 859111424 bytes, 842813440 used 16297984 pinned 0 reserved kernel: 0 blocks of free space at or bigger than bytes is kernel: block group 1962213376 has 859111424 bytes, 830881792 used 28229632 pinned 0 reserved kernel: 0 blocks of free space at or bigger than bytes is kernel: block group 2821324800 has 859111424 bytes, 816119808 used 42991616 pinned 0 reserved kernel: 0 blocks of free space at or bigger than bytes is kernel: block group 3680436224 has 859111424 bytes, 823795712 used 35315712 pinned 0 reserved kernel: 0 blocks of free space at or bigger than bytes is kernel: block group 4539547648 has 859111424 bytes, 830922752 used 28188672 pinned 0 reserved kernel: 0 blocks of free space at or bigger than bytes is kernel: block group 5398659072 has 859111424 bytes, 830865408 used 28246016 pinned 0 reserved kernel: 0 blocks of free space at or bigger than bytes is kernel: block group 6257770496 has 859111424 bytes, 815796224 used 43315200 pinned 0 reserved kernel: 0 blocks of free space at or bigger than bytes is kernel: block group 7116881920 has 859111424 bytes, 832589824 used 26521600 pinned 0 reserved kernel: 0 blocks of free space at or bigger than bytes is kernel: ------------[ cut here ]------------ kernel: kernel BUG at fs/btrfs/extent-tree.c:3106! kernel: invalid opcode: 0000 [#2] SMP kernel: last sysfs file: /sys/class/misc/btrfs-control/dev kernel: CPU 3 kernel: Modules linked in: btrfs zlib_deflate ipv6 cpufreq_powersave firewire_ohci firewire_core crc_itu_t dm_mirror dm_region_hash dm_log dm_multipath dm_mod sbshc button battery acpi_memhotplug ac ehci_hcd ohci_hcd k8temp hwmon amd_rng i2c_amd8111 i2c_core snd_intel8x0 snd_ac97_codec ac97_bus snd_pcm_oss snd_mixer_oss snd_pcm snd_timer snd soundcore snd_page_alloc tg3 libphy floppy ide_cd_mod cdrom ext3 jbd sata_sil libata aic79xx scsi_transport_spi sd_mod scsi_mod [last unloaded: x_tables] kernel: Pid: 5285, comm: btrfs-cleaner Tainted: G D 2.6.29-rc3 #1 kernel: RIP: 0010:[<ffffffffa0455ed0>] [<ffffffffa0455ed0>] __btrfs_reserve_extent+0x28c/0x2a1 [btrfs] kernel: RSP: 0018:ffff88011a9e7830 EFLAGS: 00010246 kernel: RAX: ffff88012a0aed28 RBX: ffff88012d8e57c0 RCX: ffffffff803b5112 kernel: RDX: 0000000000008585 RSI: 0000000000000246 RDI: ffff88012a0aed24 kernel: RBP: ffff88011a9e78a0 R08: ffffffff803b5112 R09: 0000000000000000 kernel: R10: ffffffff8087b6a0 R11: ffff88011a9e7730 R12: ffff88012a0aed08 kernel: R13: ffff88012a0aecc0 R14: 0000000000001000 R15: ffff88011e1f5488 kernel: FS: 00007f212e4236e0(0000) GS:ffff88012ecffcc0(0000) knlGS:00000000f7fca6c0 kernel: CS: 0010 DS: 0018 ES: 0018 CR0: 000000008005003b kernel: CR2: 00007f893b4396e0 CR3: 0000000123153000 CR4: 00000000000006e0 kernel: DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 kernel: DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 kernel: Process btrfs-cleaner (pid: 5285, threadinfo ffff88011a9e6000, task ffff88011a9b91e0) kernel: Stack: kernel: 0000000180000000 ffff88011a9e7940 0000000000000000 0000000000000000 kernel: ffff880100000024 0000000000000246 0000000180000000 0000000000000000 kernel: 0000000000001000 ffff88011a9e7940 ffff88012b50d000 0000000000000002 kernel: Call Trace: kernel: [<ffffffffa0456401>] btrfs_alloc_extent+0x47/0x9f [btrfs] kernel: [<ffffffffa04565a3>] btrfs_alloc_free_block+0x5c/0x86 [btrfs] kernel: [<ffffffffa0448269>] __btrfs_cow_block+0x1f9/0x84e [btrfs] kernel: [<ffffffffa047d3fb>] ? map_extent_buffer+0x92/0xd8 [btrfs] kernel: [<ffffffffa0448abc>] btrfs_cow_block+0x1fe/0x20d [btrfs] kernel: [<ffffffffa044e431>] btrfs_search_slot+0x355/0x805 [btrfs] kernel: [<ffffffff80271597>] ? __delayacct_blkio_end+0x39/0x3b kernel: [<ffffffff80279d3a>] ? wait_on_page_bit+0x8d/0x97 kernel: [<ffffffffa045166c>] lookup_extent_backref+0x3d/0xe2 [btrfs] kernel: [<ffffffffa0455200>] __btrfs_free_extent+0x376/0x7ef [btrfs] kernel: [<ffffffffa0474a77>] ? btrfs_key_blockptr+0xbd/0xcb [btrfs] kernel: [<ffffffffa0456f2a>] walk_down_tree+0x5ea/0x62f [btrfs] kernel: [<ffffffffa04577c0>] btrfs_drop_snapshot+0x1ca/0x273 [btrfs] kernel: [<ffffffffa046333a>] ? start_transaction+0xf9/0x105 [btrfs] kernel: [<ffffffffa0463f45>] drop_dirty_roots+0x98/0x27b [btrfs] kernel: [<ffffffffa0464d1f>] btrfs_clean_old_snapshots+0x91/0x9e [btrfs] kernel: [<ffffffffa0460bb7>] ? cleaner_kthread+0x0/0x169 [btrfs] kernel: [<ffffffffa0460ca2>] cleaner_kthread+0xeb/0x169 [btrfs] kernel: [<ffffffff8023575a>] ? __wake_up_common+0x49/0x74 kernel: [<ffffffffa0460bb7>] ? cleaner_kthread+0x0/0x169 [btrfs] kernel: [<ffffffffa0460bb7>] ? cleaner_kthread+0x0/0x169 [btrfs] kernel: [<ffffffff8024e424>] kthread+0x44/0x6d kernel: [<ffffffff8020d0ba>] child_rip+0xa/0x20 kernel: [<ffffffff8024e3e0>] ? kthread+0x0/0x6d kernel: [<ffffffff8020d0b0>] ? child_rip+0x0/0x20 kernel: Code: 48 ff ff ff e8 86 6f de df 4c 89 f6 48 89 df e8 95 53 03 00 41 fe 84 24 74 ff ff ff 4d 8b 24 24 eb 96 49 8d 7d 60 e8 1a b4 df df <0f> 0b eb fe 48 83 c4 48 89 c8 5b 41 5c 41 5d 41 5e 41 5f c9 c3 kernel: RIP [<ffffffffa0455ed0>] __btrfs_reserve_extent+0x28c/0x2a1 [btrfs] kernel: RSP <ffff88011a9e7830> kernel: ---[ end trace 5bfb95b22897a3f5 ]--- # df -t btrfs Filesystem 1K-blocks Used Available Use% Mounted on /dev/sda2 16779892 7500980 9278912 45% /btrfs -- 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
Alexander Beregalov
2009-Feb-09 14:51 UTC
Re: report, kernel BUG at fs/btrfs/extent-tree.c:3106
2009/2/2 Yoshihiro Takahashi <ytakahashi@miraclelinux.com>:> Hi, Josef > > On Fri, 30 Jan 2009 08:49:35 -0500 Josef Bacik <jbacik@redhat.com> wrote: >> On Fri, Jan 30, 2009 at 02:35:28PM +0900, Yoshihiro Takahashi wrote: >> > Hi. >> > >> > I create many files on btrfs of 16GB partition. >> > may 13,000,000 files. >> > I get this report. >> > >> > I think about the following fix. >> > When there is not space, return of ENOSPC. >> > Or add lock in free extents. >> > >> >> Are you just creating files, or are you doing something else? Thanks, >> >> Josef >> -- > > I made a lot of files. > Perhaps surpass 13,000,000 file. > > I created directry first. > I get this BUG when I made the file afterwards. > > I got the following report to count of the files when I performed find.Hi I have reproduced similar problem on linux-next. I run `stress -c 4 -d 8` on btrfs. But it looks like ENOSPC-problem, doesn''t it? btrfs allocation failed flags 1, wanted 4096 space_info has 0 free, is full block group 12582912 has 8388608 bytes, 8388608 used 0 pinned 0 reserved 0 blocks of free space at or bigger than bytes is block group 229638144 has 400556032 bytes, 400556032 used 0 pinned 0 reserved 0 blocks of free space at or bigger than bytes is block group 630194176 has 400556032 bytes, 400556032 used 0 pinned 0 reserved 0 blocks of free space at or bigger than bytes is block group 1030750208 has 400556032 bytes, 399540224 used 0 pinned 1015808 reserved 0 blocks of free space at or bigger than bytes is block group 1431306240 has 400556032 bytes, 400547840 used 0 pinned 8192 reserved 0 blocks of free space at or bigger than bytes is block group 1831862272 has 400556032 bytes, 400547840 used 0 pinned 8192 reserved 0 blocks of free space at or bigger than bytes is block group 2232418304 has 400556032 bytes, 399519744 used 0 pinned 1036288 reserved 0 blocks of free space at or bigger than bytes is block group 2632974336 has 400556032 bytes, 400547840 used 0 pinned 8192 reserved 0 blocks of free space at or bigger than bytes is block group 3233808384 has 362872832 bytes, 178257920 used 0 pinned 184614912 reserved 0 blocks of free space at or bigger than bytes is ------------[ cut here ]------------ kernel BUG at fs/btrfs/extent-tree.c:3176! invalid opcode: 0000 [#1] PREEMPT SMP DEBUG_PAGEALLOC last sysfs file: /sys/kernel/uevent_seqnum CPU 0 Modules linked in: Pid: 2235, comm: stress Not tainted 2.6.29-rc4-next-20090209 #3 PowerEdge 1950 RIP: 0010:[<ffffffff8041366d>] [<ffffffff8041366d>] __btrfs_reserve_extent+0x28d/0x330 .. Call Trace: [<ffffffff80413746>] btrfs_reserve_extent+0x36/0x60 [<ffffffff8042882b>] cow_file_range+0x16b/0x380 [<ffffffff80438576>] ? free_extent_state+0x46/0x70 [<ffffffff80429470>] run_delalloc_range+0x350/0x360 [<ffffffff8043b049>] ? test_range_bit+0xb9/0x180 [<ffffffff8043b8e8>] ? find_lock_delalloc_range+0x108/0x190 [<ffffffff8043baa3>] __extent_writepage+0x133/0x890 [<ffffffff80235ad9>] ? sub_preempt_count+0xa9/0xf0 [<ffffffff8062d32d>] ? schedule+0x1d/0x40 [<ffffffff8029c3bf>] ? clear_page_dirty_for_io+0xdf/0xf0 [<ffffffff80439887>] extent_write_cache_pages+0x1c7/0x390 [<ffffffff804388b0>] ? flush_write_bio+0x0/0x30 [<ffffffff8043b970>] ? __extent_writepage+0x0/0x890 [<ffffffff80282054>] ? __rcu_read_unlock+0xa4/0xc0 [<ffffffff80439a8d>] extent_writepages+0x3d/0x60 [<ffffffff80426050>] ? btrfs_get_extent+0x0/0x950 [<ffffffff80422fe3>] btrfs_writepages+0x23/0x30 [<ffffffff8029cbdb>] do_writepages+0x2b/0x50 [<ffffffff802e5aa1>] __writeback_single_inode+0xa1/0x3f0 [<ffffffff802e62e2>] ? generic_sync_sb_inodes+0x3a2/0x420 [<ffffffff802e6288>] generic_sync_sb_inodes+0x348/0x420 [<ffffffff802e6545>] writeback_inodes+0x65/0x100 [<ffffffff8029d798>] balance_dirty_pages_ratelimited_nr+0x278/0x3f0 [<ffffffff8042a82c>] btrfs_file_write+0x42c/0x710 [<ffffffff802c6ffb>] vfs_write+0xcb/0x170 [<ffffffff802c7190>] sys_write+0x50/0x90 [<ffffffff8020bc1b>] system_call_fastpath+0x16/0x1b -- 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
Yoshihiro Takahashi
2009-Feb-10 09:45 UTC
Re: report, kernel BUG at fs/btrfs/extent-tree.c:3106
Hi.> ------------[ cut here ]------------ > kernel BUG at fs/btrfs/extent-tree.c:3176! > Pid: 2235, comm: stress Not tainted 2.6.29-rc4-next-20090209 #3 PowerEdge 1950Thank you, your report. I look like ENOSPC-problem. I test on 2.6.29-rc4. I think maybe I''ll same issue. ------------[ cut here ]------------ kernel BUG at fs/btrfs/extent-tree.c:3176! Pid: 15655, comm: mkfbmt Tainted: G M 2.6.29-rc4 #1 This patch reads a little funny to me. This is bad patch. This is extreme. but, I want to return ENOSPC from btrfs_check_free_space. regards, --- linux-2.6.29-rc4/fs/btrfs/inode.c.orig 2009-02-10 18:06:05 +0900 +++ linux-2.6.29-rc4/fs/btrfs/inode.c 2009-02-10 18:07:12 +0900 @@ -119,7 +119,7 @@ int btrfs_check_free_space(struct btrfs_ if (for_del) thresh = total * 90; else - thresh = total * 85; + thresh = total * 40; do_div(thresh, 100); On Mon, 9 Feb 2009 17:51:34 +0300 Alexander Beregalov <a.beregalov@gmail.com> wrote:> 2009/2/2 Yoshihiro Takahashi <ytakahashi@miraclelinux.com>: > > Hi, Josef > > > > On Fri, 30 Jan 2009 08:49:35 -0500 Josef Bacik <jbacik@redhat.com> wrote: > >> On Fri, Jan 30, 2009 at 02:35:28PM +0900, Yoshihiro Takahashi wrote: > >> > Hi. > >> > > >> > I create many files on btrfs of 16GB partition. > >> > may 13,000,000 files. > >> > I get this report. > >> > > >> > I think about the following fix. > >> > When there is not space, return of ENOSPC. > >> > Or add lock in free extents. > >> > > >> > >> Are you just creating files, or are you doing something else? Thanks, > >> > >> Josef > >> -- > > > > I made a lot of files. > > Perhaps surpass 13,000,000 file. > > > > I created directry first. > > I get this BUG when I made the file afterwards. > > > > I got the following report to count of the files when I performed find. > > Hi > > I have reproduced similar problem on linux-next. > I run `stress -c 4 -d 8` on btrfs. > > But it looks like ENOSPC-problem, doesn''t it? > > btrfs allocation failed flags 1, wanted 4096 > space_info has 0 free, is full > block group 12582912 has 8388608 bytes, 8388608 used 0 pinned 0 reserved > 0 blocks of free space at or bigger than bytes is > block group 229638144 has 400556032 bytes, 400556032 used 0 pinned 0 reserved > 0 blocks of free space at or bigger than bytes is > block group 630194176 has 400556032 bytes, 400556032 used 0 pinned 0 reserved > 0 blocks of free space at or bigger than bytes is > block group 1030750208 has 400556032 bytes, 399540224 used 0 pinned > 1015808 reserved > 0 blocks of free space at or bigger than bytes is > block group 1431306240 has 400556032 bytes, 400547840 used 0 pinned > 8192 reserved > 0 blocks of free space at or bigger than bytes is > block group 1831862272 has 400556032 bytes, 400547840 used 0 pinned > 8192 reserved > 0 blocks of free space at or bigger than bytes is > block group 2232418304 has 400556032 bytes, 399519744 used 0 pinned > 1036288 reserved > 0 blocks of free space at or bigger than bytes is > block group 2632974336 has 400556032 bytes, 400547840 used 0 pinned > 8192 reserved > 0 blocks of free space at or bigger than bytes is > block group 3233808384 has 362872832 bytes, 178257920 used 0 pinned > 184614912 reserved > 0 blocks of free space at or bigger than bytes is > ------------[ cut here ]------------ > kernel BUG at fs/btrfs/extent-tree.c:3176! > invalid opcode: 0000 [#1] PREEMPT SMP DEBUG_PAGEALLOC > last sysfs file: /sys/kernel/uevent_seqnum > CPU 0 > Modules linked in: > Pid: 2235, comm: stress Not tainted 2.6.29-rc4-next-20090209 #3 PowerEdge 1950 > RIP: 0010:[<ffffffff8041366d>] [<ffffffff8041366d>] > __btrfs_reserve_extent+0x28d/0x330 > .. > Call Trace: > [<ffffffff80413746>] btrfs_reserve_extent+0x36/0x60 > [<ffffffff8042882b>] cow_file_range+0x16b/0x380 > [<ffffffff80438576>] ? free_extent_state+0x46/0x70 > [<ffffffff80429470>] run_delalloc_range+0x350/0x360 > [<ffffffff8043b049>] ? test_range_bit+0xb9/0x180 > [<ffffffff8043b8e8>] ? find_lock_delalloc_range+0x108/0x190 > [<ffffffff8043baa3>] __extent_writepage+0x133/0x890 > [<ffffffff80235ad9>] ? sub_preempt_count+0xa9/0xf0 > [<ffffffff8062d32d>] ? schedule+0x1d/0x40 > [<ffffffff8029c3bf>] ? clear_page_dirty_for_io+0xdf/0xf0 > [<ffffffff80439887>] extent_write_cache_pages+0x1c7/0x390 > [<ffffffff804388b0>] ? flush_write_bio+0x0/0x30 > [<ffffffff8043b970>] ? __extent_writepage+0x0/0x890 > [<ffffffff80282054>] ? __rcu_read_unlock+0xa4/0xc0 > [<ffffffff80439a8d>] extent_writepages+0x3d/0x60 > [<ffffffff80426050>] ? btrfs_get_extent+0x0/0x950 > [<ffffffff80422fe3>] btrfs_writepages+0x23/0x30 > [<ffffffff8029cbdb>] do_writepages+0x2b/0x50 > [<ffffffff802e5aa1>] __writeback_single_inode+0xa1/0x3f0 > [<ffffffff802e62e2>] ? generic_sync_sb_inodes+0x3a2/0x420 > [<ffffffff802e6288>] generic_sync_sb_inodes+0x348/0x420 > [<ffffffff802e6545>] writeback_inodes+0x65/0x100 > [<ffffffff8029d798>] balance_dirty_pages_ratelimited_nr+0x278/0x3f0 > [<ffffffff8042a82c>] btrfs_file_write+0x42c/0x710 > [<ffffffff802c6ffb>] vfs_write+0xcb/0x170 > [<ffffffff802c7190>] sys_write+0x50/0x90 > [<ffffffff8020bc1b>] system_call_fastpath+0x16/0x1b-- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html