Re: Upgraded from 3.4 to 3.5.1 kernel: machine does not boot

From: Paul Gortmaker
Date: Sun Aug 12 2012 - 10:13:25 EST


On Sun, Aug 12, 2012 at 9:51 AM, Justin Piszcz <jpiszcz@xxxxxxxxxxxxxxx> wrote:
> On Sun, Aug 12, 2012 at 9:10 AM, Eric Sandeen <sandeen@xxxxxxxxxxx> wrote:
>> On 8/10/12 11:14 PM, Justin Piszcz wrote:
>>> On Fri, Aug 10, 2012 at 7:07 PM, Justin Piszcz
>>>>
>>>> Hi,
>>>>
>>>> Found the root cause, the 3.5.1 kernel cannot mount my ext4 filesystem
>>>> (60TB).
>>
>> You are a brave man running ext4 at 60T, but thank you for testing :)
>>
>> Backing out 8aeb00ff85ad25453765dd339b408c0087db1527 from 3.5.1
>> (952fc18ef9ec707ebdc16c0786ec360295e5ff15 upstream) probably helps?
>>
>> From a quick look, I think that essentially has a :
>>
>> for (i = 0; i < ngroups; i++) {
>>
>> for (j = 0; j < ngroups; j++) {
>>
>> }
>> }
>>
>> type nested loop going on; for a filesystem this big it's going to take almost
>> literally forever, if I read it right.
>>
>> -Eric
>
> Hello,
>
> It worked!! I can mount my filesystem now!
>
> I pulled down 3.5 and backed out that commit, I could not quickly find
> a doc to do this, so I will add how to do that below:
>
> 1. Clone Linux repo (3.5/stable as of this writing)
> git clone git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git
>
> 2. List commits:
> git log
>
> 3. Show a specific commit
> git show 8aeb00ff85ad25453765dd339b408c0087db1527
>
> 4. How to revert the commit:
> git revert 8aeb00ff85ad25453765dd339b408c0087db1527
>
> # On branch master
> nothing to commit (working directory clean)

You didn't actually revert anything here, because your clone left
you on "master" branch, which points at 3.5 (i.e. 3.5.0). It does
not contain the commit which is of interest to you.

-------------
linux-stable$git tag --contains 8aeb00ff
v3.5.1
linux-stable$git branch --contains 8aeb00ff
linux-3.5.y
linux-stable$
------------

The master branch in linux-stable is left pointing at one of the
most recent mainline (i.e. non-stable) tags, and all of the stable
content is on individual branches (type "git branch" to see them).

So if you do a "git checkout linux-3.5.y" and then do the revert,
you will actually be testing what you wanted to test.

Paul.
--

>
> 5. Recompile, reboot, does it work?
> # df -h
> Filesystem Size Used Avail Use% Mounted on
> /dev/sda1 61T 17T 44T 28% /r1
> # uname -a
> Linux p34 3.5.0 #1 SMP Sun Aug 12 09:42:41 EDT 2012 x86_64 GNU/Linux
>
> Yes!
>
> CC: Greg to see if this can be backed out for 3.5.2?
>
> Justin.
> --
> 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/
--
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/