On Wed, 2008-07-30 at 16:43 -0400, Chris Mason wrote:
> On Wed, 2008-07-30 at 22:13 +0200, Jens Axboe wrote:
> 
> [ rcu page cache ]
> 
> > > > For btrfs's usage, it should be safe with a simple rcu_read_lock(), if
> > > > the return is referenced safely.
> > > > 
> > > 
> > > This btrfs code is basically a find_get_page without the get.  It should
> > > only be called when I know I already have a reference on the page.
> > 
> > Then it's definitely safe ;-)
> > 
> 
> Yeah, I'm testing on the latest git now and it all seems ok.  I'll push
> this out, thanks Sven.

Seems to crash for me with Linus' current tree. I thought it was
something to do with my fixes for NFS export, but now I've hooked up a
serial console and managed to catch it, I suspect not...

BUG: unable to handle kernel paging request at ffff880107c2aa00
IP: [<ffffffffa03e73bc>] end_bio_extent_writepage+0x1f4/0x29c [btrfs]
PGD 202063 PUD c067 PMD 10a844163 PTE 8000000107c2a160
Oops: 0000 [1] SMP DEBUG_PAGEALLOC
CPU 3 
Modules linked in: btrfs libcrc32c nfsd lockd nfs_acl auth_rpcgss exportfs 
mtdram jffs2 mtd zlib_deflate i915 drm bridge stp bnep rfcomm l2cap bluetooth 
fuse sunrpc ipv6 cpufreq_ondemand acpi_cpufreq freq_table dm_mirror dm_log 
dm_multipath dm_mod snd_pcsp snd_hda_intel snd_seq_dummy snd_seq_oss 
snd_seq_midi_event snd_seq snd_seq_device sr_mod cdrom snd_pcm_oss 
snd_mixer_oss firewire_ohci firewire_core snd_pcm floppy i2c_i801 i2c_core 
snd_timer pata_marvell crc_itu_t iTCO_wdt e1000e snd_hwdep snd_page_alloc 
ata_generic iTCO_vendor_support pata_acpi snd soundcore ahci ext3 jbd mbcache 
uhci_hcd ohci_hcd ehci_hcd [last unloaded: jffs2]
Pid: 3273, comm: btrfs Tainted: G        W 2.6.27-rc1 #1
RIP: 0010:[<ffffffffa03e73bc>]  [<ffffffffa03e73bc>] 
end_bio_extent_writepage+0x1f4/0x29c [btrfs]
RSP: 0018:ffff88010e581e10  EFLAGS: 00010082
RAX: 0000000000000002 RBX: ffff880107c2aae0 RCX: 0000000000000001
RDX: 0000000000000005 RSI: ffff880107c2aae0 RDI: ffffffff810644db
RBP: ffff88010e581e80 R08: ffff88010e581cb0 R09: ffff88000000d000
R10: 0000000000000002 R11: ffff88010e581d30 R12: ffff880107c2aa08
R13: ffff880107c2a9f8 R14: 0000000000080000 R15: ffffe200063eb920
FS:  0000000000000000(0000) GS:ffff880127c41e10(0000) knlGS:0000000000000000
CS:  0010 DS: 0018 ES: 0018 CR0: 000000008005003b
CR2: ffff880107c2aa00 CR3: 000000010b5b0000 CR4: 00000000000006e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
Process btrfs (pid: 3273, threadinfo ffff88010e580000, task ffff88010b190000)
Stack:  ffff88010b58e540 0000000000001000 ffff88010c60f1d8 0000000181065346
 ffff88010a995d70 ffff88010c60f1b8 0000000000080000 0000000000000282
 000000010e581e90 0000000000000000 ffff88010b5ff620 ffff88010b58e540
Call Trace:
 [<ffffffff810f1aa4>] bio_endio+0x2f/0x31
 [<ffffffffa03d0bbf>] end_workqueue_fn+0x108/0x114 [btrfs]
 [<ffffffffa03ebdc8>] worker_loop+0x6b/0x14e [btrfs]
 [<ffffffffa03ebd5d>] ? worker_loop+0x0/0x14e [btrfs]
 [<ffffffff81057b34>] kthread+0x4e/0x7b
 [<ffffffff81011849>] child_rip+0xa/0x11
 [<ffffffff81010b5e>] ? restore_args+0x0/0x30
 [<ffffffff81057ae6>] ? kthread+0x0/0x7b
 [<ffffffff8101183f>] ? child_rip+0x0/0x11


Code: de e8 15 d5 ff ff 4c 39 75 c0 74 1a 73 13 be d5 05 00 00 48 c7 c7 fc fd 
3e a0 e8 1c c5 c5 e0 eb 05 4d 85 e4 75 a4 4d 85 ed 74 19 <49> 8b 45 08 48 ff c0 
4c 39 f0 75 0a 41 f6 85 80 00 00 00 02 75 
RIP  [<ffffffffa03e73bc>] end_bio_extent_writepage+0x1f4/0x29c [btrfs]
 RSP <ffff88010e581e10>
CR2: ffff880107c2aa00
---[ end trace 4eaa2a86a8e2da22 ]---
BUG: unable to handle kernel paging request at ffff880107ced918
IP: [<ffffffffa03e73bc>] end_bio_extent_writepage+0x1f4/0x29c [btrfs]
PGD 202063 PUD c067 PMD 10a844163 PTE 8000000107ced160
Oops: 0000 [2] SMP DEBUG_PAGEALLOC
CPU 3 
Modules linked in: btrfs libcrc32c nfsd lockd nfs_acl auth_rpcgss exportfs 
mtdram jffs2 mtd zlib_deflate i915 drm bridge stp bnep rfcomm l2cap bluetooth 
fuse sunrpc ipv6 cpufreq_ondemand acpi_cpufreq freq_table dm_mirror dm_log 
dm_multipath dm_mod snd_pcsp snd_hda_intel snd_seq_dummy snd_seq_oss 
snd_seq_midi_event snd_seq snd_seq_device sr_mod cdrom snd_pcm_oss 
snd_mixer_oss firewire_ohci firewire_core snd_pcm floppy i2c_i801 i2c_core 
snd_timer pata_marvell crc_itu_t iTCO_wdt e1000e snd_hwdep snd_page_alloc 
ata_generic iTCO_vendor_support pata_acpi snd soundcore ahci ext3 jbd mbcache 
uhci_hcd ohci_hcd ehci_hcd [last unloaded: jffs2]
Pid: 3274, comm: btrfs Tainted: G      D W 2.6.27-rc1 #1
RIP: 0010:[<ffffffffa03e73bc>]  [<ffffffffa03e73bc>] 
end_bio_extent_writepage+0x1f4/0x29c [btrfs]
RSP: 0018:ffff88010b95fe10  EFLAGS: 00010082
RAX: 0000000000000002 RBX: ffff880107ced9f8 RCX: 0000000000000001
RDX: 0000000000000005 RSI: ffff880107ced9f8 RDI: ffffffff810644db
RBP: ffff88010b95fe80 R08: ffff88010b95fcb0 R09: ffff88000000d000
R10: 0000000000000002 R11: ffff88010b95fd30 R12: ffff880107ced920
R13: ffff880107ced910 R14: 0000000000080000 R15: ffffe20006321d20
FS:  0000000000000000(0000) GS:ffff880127c41e10(0000) knlGS:0000000000000000
CS:  0010 DS: 0018 ES: 0018 CR0: 000000008005003b
CR2: ffff880107ced918 CR3: 000000010b5b0000 CR4: 00000000000006e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
Process btrfs (pid: 3274, threadinfo ffff88010b95e000, task ffff88010b192580)
Stack:  ffff88010a879240 0000000000001000 ffff88010c7a71d8 0000000181065346
 ffff88010a9e3b70 ffff88010c7a71b8 0000000000080000 0000000000000282
 000000010b95fe90 0000000000000000 ffff88010e59d8c0 ffff88010a879240
Call Trace:
 [<ffffffff810f1aa4>] bio_endio+0x2f/0x31
 [<ffffffffa03d0bbf>] end_workqueue_fn+0x108/0x114 [btrfs]
 [<ffffffffa03ebdc8>] worker_loop+0x6b/0x14e [btrfs]
 [<ffffffffa03ebd5d>] ? worker_loop+0x0/0x14e [btrfs]
 [<ffffffff81057b34>] kthread+0x4e/0x7b
 [<ffffffff81011849>] child_rip+0xa/0x11
 [<ffffffff81010b5e>] ? restore_args+0x0/0x30
 [<ffffffff81057ae6>] ? kthread+0x0/0x7b
 [<ffffffff8101183f>] ? child_rip+0x0/0x11


Code: de e8 15 d5 ff ff 4c 39 75 c0 74 1a 73 13 be d5 05 00 00 48 c7 c7 fc fd 
3e a0 e8 1c c5 c5 e0 eb 05 4d 85 e4 75 a4 4d 85 ed 74 19 <49> 8b 45 08 48 ff c0 
4c 39 f0 75 0a 41 f6 85 80 00 00 00 02 75 
RIP  [<ffffffffa03e73bc>] end_bio_extent_writepage+0x1f4/0x29c [btrfs]
 RSP <ffff88010b95fe10>
CR2: ffff880107ced918
---[ end trace 4eaa2a86a8e2da22 ]---


-- 
David Woodhouse                            Open Source Technology Centre
[EMAIL PROTECTED]                              Intel Corporation



--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to