[Btrfs-devel] Oops

Christian Hesse list at eworm.de
Sat Dec 8 04:47:21 PST 2007


On Saturday 08 December 2007, Christian Hesse wrote:
> On Saturday 08 December 2007, Yan Zheng wrote:
> > 2007/12/8, Christian Hesse <list at eworm.de>:
> > > Ok, as far as I can remember:
> > >
> > > $ mount -o loop /usr/portage.img /usr/portage/
> > > [ sync data to the fs, run emerge, update meta database, etc. ]
> > > $ mount -o loop,subvol=. /usr/portage.img /mnt/tmp/
> > > $ btrfsctl -s 2007-12-07 /mnt/tmp
> > > [ remember that I just created a new subvol, not a snapshot ]
> > > $ btrfsctl -s 2007-12-07-0 /mnt/tmp/default
> > > $ umount /mnt/tmp
> > > [ suspend and resume the system ]
> > > $ emerge sync
> >
> > It's seem you setup two difference loopback devices on the same image
> > file. Please try mount the image file this way.
> >
> > losetup /dev/loop0  /usr/portage.img
> > mount /dev/loop0 /usr/portage/
> > mount -o subvol=. /dev/loop0 /mnt/tmp/
>
> Yes, probably you are right. I will try again.

Et voilà... the next one:

Dec  8 13:26:35 revo kernel BUG at fs/btrfs/extent-tree.c:379!
Dec  8 13:26:35 revo invalid opcode: 0000 [#1] SMP
Dec  8 13:26:35 revo Modules linked in: iwl3945
Dec  8 13:26:35 revo
Dec  8 13:26:35 revo Pid: 257, comm: btrfs/0 Not tainted (2.6.24-rc4 #1)
Dec  8 13:26:35 revo EIP: 0060:[<b01c6a1b>] EFLAGS: 00010202 CPU: 0
Dec  8 13:26:35 revo EIP is at btrfs_inc_extent_ref+0xbb/0x140
Dec  8 13:26:35 revo EAX: 00000001 EBX: 00000000 ECX: 00000000 EDX: c569d000
Dec  8 13:26:35 revo ESI: 00000001 EDI: d222a4e0 EBP: d17fd3e4 ESP: eea85db4
Dec  8 13:26:35 revo DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068
Dec  8 13:26:35 revo Process btrfs/0 (pid: 257, ti=eea84000 task=ef09a030 
task.ti=eea84000)
Dec  8 13:26:35 revo Stack: d222a4e0 00000000 00000001 eea85dd8 e37b2400 
00000001 00005000 00000050
Dec  8 13:26:35 revo 21000000 00002000 00000000 e37b2400 b1000000 d0020bd4 
00000002 b01c6f43
Dec  8 13:26:35 revo 00005000 00000000 00002000 00000000 00000001 e37b2400 
d17fd3e4 0000008a
Dec  8 13:26:35 revo Call Trace:
Dec  8 13:26:35 revo [<b01c6f43>] btrfs_inc_ref+0xf3/0x2d0
Dec  8 13:26:35 revo [<b01bf3ad>] __btrfs_cow_block+0x18d/0x390
Dec  8 13:26:35 revo [<b01bf726>] btrfs_cow_block+0x176/0x1a0
Dec  8 13:26:35 revo [<b01d3451>] btrfs_defrag_leaves+0xf1/0x850
Dec  8 13:26:35 revo [<b01cc2b0>] btrfs_transaction_cleaner+0x0/0xd0
Dec  8 13:26:35 revo [<b01cb5a9>] btrfs_start_transaction+0xc9/0x1c0
Dec  8 13:26:35 revo [<b01cc1b7>] btrfs_defrag_root+0x67/0xe0
Dec  8 13:26:35 revo [<b01cc2b0>] btrfs_transaction_cleaner+0x0/0xd0
Dec  8 13:26:35 revo [<b01cc2a3>] btrfs_defrag_dirty_roots+0x73/0x80
Dec  8 13:26:35 revo [<b01cc2b0>] btrfs_transaction_cleaner+0x0/0xd0
Dec  8 13:26:35 revo [<b01cc352>] btrfs_transaction_cleaner+0xa2/0xd0
Dec  8 13:26:35 revo [<b0138f8d>] run_workqueue+0xad/0x130
Dec  8 13:26:35 revo [<b01399f0>] worker_thread+0x0/0xf0
Dec  8 13:26:35 revo [<b0139a7c>] worker_thread+0x8c/0xf0
Dec  8 13:26:35 revo [<b013ccd0>] autoremove_wake_function+0x0/0x40
Dec  8 13:26:35 revo [<b01399f0>] worker_thread+0x0/0xf0
Dec  8 13:26:35 revo [<b013ca12>] kthread+0x42/0x70
Dec  8 13:26:35 revo [<b013c9d0>] kthread+0x0/0x70
Dec  8 13:26:35 revo [<b0104e67>] kernel_thread_helper+0x7/0x10
Dec  8 13:26:35 revo =======================
Dec  8 13:26:35 revo Code: c6 44 24 23 21 8b 82 bc 00 00 00 8b 50 10 89 e8 89 
74 24 08 89 5c 24 04 89 3c 24 e8 f0 a7 ff ff 83 f8 00 89 44 2
4 14 7c 7b 74 04 <0f> 0b eb fe 8b 57 20 8b 1f 8d 14 92 8d 54 92 4f 89 d8 e8 6e 
44
Dec  8 13:26:35 revo EIP: [<b01c6a1b>] btrfs_inc_extent_ref+0xbb/0x140 SS:ESP 
0068:eea85db4

This time I did not mount twice:

$ mount -o loop /usr/portage.img /mnt/tmp
$ rsync -a /usr/portage/ /mnt/tmp/
$ umount /mnt/tmp
$ mount -o loop,subvol=. /usr/portage.img /mnt/tmp/
$ btrfsctl -s 2007-12-08 /mnt/tmp/default
$ umount /mnt/tmp
$ mount -o loop /usr/portage.img /use/portage
[ suspend and resume the system ]
$ emerge sync

Tuxonice has functions to freeze filesystems, I'll enable debug information to 
make shure it is not the cause for the trouble.
-- 
Regards,
Chris



More information about the Btrfs-devel mailing list