Re: Analyzed/Solved: Booting 2.6.30-rc2-git7 very slow

From: Mike Galbraith
Date: Wed May 06 2009 - 00:45:57 EST


On Tue, 2009-05-05 at 15:49 -0700, Andrew Morton wrote:
> On Wed, 29 Apr 2009 16:18:45 +0200
> Mike Galbraith <efault@xxxxxx> wrote:
>
> > On Wed, 2009-04-29 at 13:08 +0100, Al Viro wrote:
> > > On Wed, Apr 29, 2009 at 01:17:55AM -0700, Andrew Morton wrote:
> > >
> > > > > > > Questions remains: was this intentional? It breaks existing userspace and should therefore be considered a regression - right? On the other hand, it will never be a problem for RHEL-4/5 kernels, unless the change in 2.6.29 gets backported. Any ideas?
> > > > > >
> > > > > > afaik that was unintentional and was probably a mistake.
> > > > > >
> > > > > > I wonder how we did that.
> > > > >
> > > > > <paste>
> > > > > > [hotplug]# grep sysfs /proc/mounts
> > > > > > none /sys sysfs rw,relatime 0 0
> > > > > > /sys /sys sysfs rw,relatime 0 0
> > > > >
> > > > > ___(I wonder how the heck that is accomplished)
> > > >
> > > > Beats me. I'm not seeing likely changes in fs/proc/base.c or around
> > > > show_mountinfo(). Maybe sysfs broke in an ingenious way. (hopefully
> > > > cc's viro).
> > >
> > > Er... Somebody mounting sysfs twice? From some init script and from
> > > /etc/fstab, perhaps? That definitely looks like two mount(2) had to
> > > have been done to cause that...
> >
> > Yeah, but how does one go about doing that?
> >
> > Using mount -f, I can convince mount to succeed, but I still have only
> > one entry in /proc/mounts, despite what my mount binary imagines.
> >
> > marge:..sys/vm # grep sysfs /proc/mounts
> > sysfs /sys sysfs rw,relatime 0 0
> >
> > marge:..sys/vm # mount|grep sysfs
> > sysfs on /sys type sysfs (rw)
> > sys on /sys type sysfs (rw)
> > /sys on /sys type sysfs (rw)
> >
>
> So /proc/mounts is OK and /etc/mtab is wrong?
>
> Obvious next step is to strace `mount -f', see what's happening around
> sys_mount(), please.

Well, there is no syscall with -f.

I was trying various mount options to see if I could find a way to
create bogons that could confuse scripts. I could create bogons
in /etc/mtab with -f, or bogons in /proc/mounts by using --move. I
could re-create the exact reported data with a combination of mount -n
and mount --move. I could not get a double /proc/mounts entry without
--move, and that seems unlikely to appear in boot scripts. So I still
wonder how the heck it was accomplished.

I also now wonder why you can --move mounts on top of one another, but
beck with it, ignorance conserves braincells I may some day need :)

-Mike

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/