[dm-devel] Fwd: 2.6.25-rc1 patch prevents booting on LVM-based devices
Dave Wysochanski
dwysocha at redhat.com
Mon Feb 25 15:46:16 UTC 2008
On Wed, 2008-02-20 at 11:20 -0500, Chuck Lever wrote:
> Begin forwarded message:
> > From: Chuck Lever <chuck.lever at oracle.com>
> > Date: February 20, 2008 10:50:01 AM EST
> > To: dm-devel at redhat.com
> > Subject: 2.6.25-rc1 patch prevents booting on LVM-based devices
> >
> > Hello-
> >
> > I've got a Fedora 8 x86 test system that uses LVM volumes for all
> > it's file systems except /boot. After commit bdc80787, 2.6.24+
> > doesn't boot on this system -- the LVM volume scan during start-up
> > can no longer find any physical volumes on the system.
> >
> > I'm not sure whether this is an LVM issue, or something else is
> > breaking during system init which prevents the LVM scan from
> > working. I need some help troubleshooting the problem.
>
> Interestingly, if I build a non-tickless kernel, the problem goes away.
>
Did you see this:
http://bugzilla.kernel.org/show_bug.cgi?id=10021
Another guess would be the below change is affecting your low-level
driver in some way as to prevent devices from being discovered. Is this
FC (qla2xxx) or something else?
> > bdc80787 is:
> >
> > commit bdc807871d58285737d50dc6163d0feb72cb0dc2
> > Author: H. Peter Anvin <hpa at zytor.com>
> > Date: Fri Feb 8 04:21:26 2008 -0800
> >
> > avoid overflows in kernel/time.c
> >
> > When the conversion factor between jiffies and milli- or
> > microseconds is
> > not a single multiply or divide, as for the case of HZ == 300,
> > we currently
> > do a multiply followed by a divide. The intervening result,
> > however, is
> > subject to overflows, especially since the fraction is not
> > simplified (for
> > HZ == 300, we multiply by 300 and divide by 1000).
> >
> > This is exposed to the user when passing a large timeout to poll
> > (), for
> > example.
> >
> > This patch replaces the multiply-divide with a reciprocal
> > multiplication on
> > 32-bit platforms. When the input is an unsigned long, there is
> > no portable
> > way to do this on 64-bit platforms there is no portable way to
> > do this
> > since it requires a 128-bit intermediate result (which gcc does
> > support on
> > 64-bit platforms but may generate libgcc calls, e.g. on 64-bit
> > s390), but
> > since the output is a 32-bit integer in the cases affected,
> > just simplify
> > the multiply-divide (*3/10 instead of *300/1000).
> >
> > and so on...
> >
> > --
> > Chuck Lever
> > chuck[dot]lever[at]oracle[dot]com
> >
> >
> >
>
> --
> Chuck Lever
> chuck[dot]lever[at]oracle[dot]com
>
>
>
> --
> dm-devel mailing list
> dm-devel at redhat.com
> https://www.redhat.com/mailman/listinfo/dm-devel
More information about the dm-devel
mailing list