Hi, i've just tested btrfs-0.10. when i copyed my portage on btrfs volume, a have such bug: ------------[ cut here ]------------ kernel BUG at /home/muller/btrfs/btrfs-0.10/extent-tree.c:1651! invalid opcode: 0000 [#1] PREEMPT SMP Modules linked in: btrfs xt_mac xt_limit xt_multiport ipt_owner ipaq usbserial nvidia(P) Pid: 23376, comm: btrfs/0 Tainted: P (2.6.24-rc8-fly #1) EIP: 0060:[<f8d32c37>] EFLAGS: 00010286 CPU: 0 EIP is at btrfs_alloc_extent+0x447/0x450 [btrfs] EAX: ffffffe4 EBX: dd41a758 ECX: c201179c EDX: 00000000 ESI: f5f93d50 EDI: ffffffe4 EBP: 00000000 ESP: f7a91ce8 DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068 Process btrfs/0 (pid: 23376, ti=f7a90000 task=d8be9170 task.ti=f7a90000) Stack: 00004000 00000000 00040000 00000000 00000000 00000000 ffffffff ffffffff 1f3f9000 00000000 f7a91d9b 00000000 00000000 00000000 00000000 00000002 de36da00 dd41a758 de0d5e00 00000001 00004000 00000000 00004000 de36da00 Call Trace: [<f8d32cfa>] __btrfs_alloc_free_block+0xba/0x290 [btrfs] [<f8d29984>] __btrfs_cow_block+0x174/0x600 [btrfs] [<f8d2b58c>] btrfs_realloc_node+0x2cc/0x4f0 [btrfs] [<f8d42952>] btrfs_defrag_leaves+0x612/0x960 [btrfs] [<f8d39649>] btrfs_start_transaction+0xc9/0x1e0 [btrfs] [<f8d3a618>] btrfs_defrag_root+0x68/0xe0 [btrfs] [<f8d3a703>] btrfs_defrag_dirty_roots+0x73/0x80 [btrfs] [<f8d3a710>] btrfs_transaction_cleaner+0x0/0xd0 [btrfs] [<f8d3a7b2>] btrfs_transaction_cleaner+0xa2/0xd0 [btrfs] [<c013c3ba>] run_workqueue+0x7a/0x100 [<c0140230>] autoremove_wake_function+0x0/0x50 [<c013ce7c>] worker_thread+0x9c/0x100 [<c0140230>] autoremove_wake_function+0x0/0x50 [<c013cde0>] worker_thread+0x0/0x100 [<c013ff52>] kthread+0x42/0x70 [<c013ff10>] kthread+0x0/0x70 [<c0104faf>] kernel_thread_helper+0x7/0x18 ======================Code: 44 24 0c b8 6e 06 00 00 89 44 24 08 b8 2c 07 d5 f8 89 44 24 04 c7 04 24 8d f9 d4 f8 e8 f3 97 3f c7 e8 ae 3a 3d c7 e9 35 fc ff ff <0f> 0b eb fe 90 8d 74 26 00 55 89 d5 57 89 cf 56 31 f6 53 89 cb EIP: [<f8d32c37>] btrfs_alloc_extent+0x447/0x450 [btrfs] SS:ESP 0068:f7a91ce8 ---[ end trace eceaeca47ca890e4 ]--- i allready figured out that minimal filesystem size is 256mb, and i noticed that btrfs can crash if filesystem is "full". my filesystem is 500mb large, and after crash it still have 15mb free :) is it such "full" to crash? and what are current required minimal free size for "stable" work? and btw, are such reports about crashes needed? or on this stage of development this is odd? -- wbr, sergey ________________________________________________________ ?? ??? ? Yahoo!? ????????? ??????????? ? ??????????. Yahoo! ?????! http://ru.mail.yahoo.com
On Thursday 17 January 2008, Otto Muller wrote:> Hi, > > i've just tested btrfs-0.10. > when i copyed my portage on btrfs volume, a have such > bug: > > ------------[ cut here ]------------ > kernel BUG at > /home/muller/btrfs/btrfs-0.10/extent-tree.c:1651! > invalid opcode: 0000 [#1] PREEMPT SMP > Modules linked in: btrfs xt_mac xt_limit xt_multiport > ipt_owner ipaq usbserial nvidia(P)[Oops due to out of space]> > i allready figured out that minimal filesystem size is > 256mb, and i noticed that btrfs can crash if > filesystem is "full". > my filesystem is 500mb large, and after crash it still > have 15mb free :) > > is it such "full" to crash? and what are current > required minimal free size for "stable" work? > > and btw, are such reports about crashes needed? or on > this stage of development this is odd?Sorry, how big was your partition? I haven't tested fully the minimum FS size, but it also varies with how many blocks you plan on changing during a transaction. So you could have a 256MB partition if you only change a small number of things, but it would run out of space if you constantly rewrote a 256MB file. This is because the transactions are snapshot based. So, you need to have enough room for the old copy of any blocks you modify during a commit and the new copy. -chris