[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <18503.8514.710121.995152@notabene.brown>
Date: Thu, 5 Jun 2008 09:12:02 +1000
From: Neil Brown <neilb@...e.de>
To: Dave Jones <davej@...hat.com>
Cc: Linux Kernel <linux-kernel@...r.kernel.org>
Subject: Re: 2.6.25 md oops during boot.
On Wednesday June 4, davej@...hat.com wrote:
> Hi Neil,
> Here's an odd one.
> https://bugzilla.redhat.com/show_bug.cgi?id=442204
>
> Slightly old (.25-rc8-git7), but I don't recall anything changing between
> then and .25 final that could explain this.
>
> Dave
Hi Dave.
Yes, Odd.
It appear that sysfs_addrm_start is being called with parent_sd == NULL.
That implies that sysfs_create_dir is being given a kobj where
->parent is non-NULL, and ->parent->sd is NULL.
So kobject_add is being given a parent with a NULL ->sd.
So in bind_rdev_to_array, mddev->kobj.sd is NULL.
So in md_probe, either kobject_init_and_add is failing
to set up ->sd properly (which should result in an error message
"md: cannot register md0/md - name in use"
) or alloc_disk is failing.
The most likely scenario is that alloc_disk is failing, so the
md_probe call in autorun_devices (line 3804 of md.c) fails.
The following mddev_find creates a new mddev which is not properly
initialised and gets used.
I wouldn't say this is a likely scenario as it requires (I think)
kmalloc failure very early in boot. But I cannot see any other
possible cause.
I'll see about getting the error paths handled better.
NeilBrown
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists