From: Ryusuke Konishi <ryusuke-sG5X7nlA6pw@public.gmane.org>
To: lwojcicki-V+nj596LuoKHKKo6LODCOg@public.gmane.org
Cc: linux-nilfs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: problem with nilfs_cleanerd
Date: Wed, 07 Jul 2010 15:39:32 +0900 (JST) [thread overview]
Message-ID: <20100707.153932.220052706.ryusuke@osrg.net> (raw)
In-Reply-To: <1278483922.8049.4.camel@Stanowisko-25>
On Wed, 07 Jul 2010 08:25:22 +0200, Łukasz_Wójcicki wrote:
> Does this patch eliminate the problem?
No, it just detects a likely cause.
I think the root cause exists somewhere else.
> Unfortunately I can not generate this error again because after
> re-formatting the memory (mkfs.nilfs2) the problem disappeared.
All right, I'll try to fix the problem based on the review of btree
code, or at least will include a patch to help debugging this.
Thanks,
Ryusuke Konishi
> Dnia 2010-07-07, śro o godzinie 15:02 +0900, Ryusuke Konishi pisze:
> > Hi,
> >
> > On Tue, 06 Jul 2010 11:02:41 +0200, Łukasz_Wójcicki wrote:
> > > I'am using kernel 2.6.20 with nilf_utils-2-0-18 and nilfs kernel module
> > > 2-0-20 .
> > >
> > > <1>Unable to handle kernel NULL pointer dereference at virtual address
> > > 00000000
> > > <1>pgd = c4eb0000
> > > <1>[00000000] *pgd=c4e2d031, *pte=00000000, *ppte=00000000
> > > <4>Internal error: Oops: 17 [#1]
> > > <4>Modules linked in:
> > > <4>CPU: 0
> > > <4>PC is at nilfs_btree_lookup_dirty_buffers+0x10c/0x1ec
> > > <4>LR is at 0xc4c99b24
> > <snip>
> >
> > Could you try the following patch to narrow down the cause?
> >
> > There is a function lacking range check in the btree code. This patch
> > will catch the defect if the oops comes from a range error.
> >
> > I'm now reviewing the btree code to find out root cause of the range
> > error.
> >
> > Thanks,
> > Ryusuke Konishi
> > ---
> >
> > diff --git a/fs/btree.c b/fs/btree.c
> > index beb11fe..9622ff4 100644
> > --- a/fs/btree.c
> > +++ b/fs/btree.c
> > @@ -2007,6 +2007,15 @@ static void nilfs_btree_add_dirty_buffer(struct nilfs_btree *btree,
> > node = (struct nilfs_btree_node *)bh->b_data;
> > key = nilfs_btree_node_get_key(node, 0);
> > level = nilfs_btree_node_get_level(node);
> > + if (level < NILFS_BTREE_LEVEL_NODE_MIN ||
> > + level >= NILFS_BTREE_LEVEL_MAX) {
> > + dump_stack();
> > + printk(KERN_CRIT
> > + "%s: invalid btree level: %d (ino=%lu)\n", __func__,
> > + level, NILFS_BMAP_I(&btree->bt_bmap)->vfs_inode.i_ino);
> > + return;
> > + }
> > +
> > list_for_each(head, &lists[level]) {
> > cbh = list_entry(head, struct buffer_head, b_assoc_buffers);
> > cnode = (struct nilfs_btree_node *)cbh->b_data;
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-nilfs" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2010-07-07 6:39 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-07-06 9:02 problem with nilfs_cleanerd Łukasz Wójcicki
2010-07-07 6:02 ` Ryusuke Konishi
[not found] ` <20100707.150225.135808641.ryusuke-sG5X7nlA6pw@public.gmane.org>
2010-07-07 6:25 ` Łukasz Wójcicki
2010-07-07 6:39 ` Ryusuke Konishi [this message]
2010-07-07 7:53 ` Ryusuke Konishi
[not found] ` <20100707.165348.25143177.ryusuke-sG5X7nlA6pw@public.gmane.org>
2010-07-07 10:02 ` Łukasz Wójcicki
2010-07-07 10:32 ` problem with nilfs_cleanerd - part 2 Łukasz Wójcicki
2010-07-07 10:48 ` Łukasz Wójcicki
2010-07-07 17:40 ` Ryusuke Konishi
[not found] ` <20100708.024043.228010276.ryusuke-sG5X7nlA6pw@public.gmane.org>
2010-07-07 18:15 ` Łukasz Wójcicki
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20100707.153932.220052706.ryusuke@osrg.net \
--to=ryusuke-sg5x7nla6pw@public.gmane.org \
--cc=linux-nilfs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=lwojcicki-V+nj596LuoKHKKo6LODCOg@public.gmane.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox