Ok all of these symptoms are believed to be triggered by a hang during
swapon.  Here we are trying to add swap in a file directly on a FAT
filesystem.  Looking at a system suffering this issue we see the
following:

    [  236.224024] INFO: task swapon:8293 blocked for more than 120 seconds.
    [  236.224028] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables 
this message.
    [  236.224031] swapon        D ebbb4000     0  8293   8278
    [  236.224035]  d8823e58 00000082 c06d3380 ebbb4000 c0193c92 ebb2de00 
c0687340 c07b4500
    [  236.224040]  d8834b60 d8834dd8 c180d600 c06d5400 c180d600 16bb60b6 
0000000f d8834dd8
    [  236.224044]  00000000 c06d9f8c f6963a10 f6963a14 ffffffff d8823e80 
c0501c1e d8834b60
    [  236.224048] Call Trace:
    [  236.224056]  [<c0193c92>] ? buffered_rmqueue+0x1a2/0x2a0
    [  236.224060]  [<c0501c1e>] __mutex_lock_slowpath+0x6e/0xb0
    [  236.224063]  [<c0501a57>] mutex_lock+0x17/0x20
    [  236.224078]  [<f8c7999f>] _fat_bmap+0x1f/0x50 [fat]
    [  236.224086]  [<f8c79980>] ? _fat_bmap+0x0/0x50 [fat]
    [  236.224089]  [<c01cf301>] bmap+0x31/0x40
    [  236.224092]  [<c01abe9e>] setup_swap_extents+0x16e/0x400
    [  236.224096]  [<c01ac6fa>] ? sys_swapon+0x5ca/0x820
    [  236.224099]  [<c01ac7a2>] sys_swapon+0x672/0x820
    [  236.224102]  [<c01beaba>] ? __fput+0x14a/0x1c0
    [  236.224106]  [<c01bb5da>] ? sys_close+0x7a/0xc0
    [  236.224109]  [<c0103f6b>] sysenter_do_call+0x12/0x2f

Seems that we have hung during the attempt to map the blocks we are going to
use for swap.

Looking at upstream it appears there is a modification to the locking in this
routine which would previously have caused such a deadlock:

    commit 3a95ea1155c5d44aa58dde2f64f0ddafe27fd1fb
    Author: OGAWA Hirofumi <hirof...@mail.parknet.co.jp>
    Date:   Thu Mar 12 02:03:23 2009 +0900

        Fix _fat_bmap() locking
        
        On swapon() path, it has already i_mutex. So, this uses i_alloc_sem
        instead of it.
        
        Signed-off-by: OGAWA Hirofumi <hirof...@mail.parknet.co.jp>
        Reported-by: Laurent GUERBY <laur...@guerby.net>
        Signed-off-by: Linus Torvalds <torva...@linux-foundation.org>

This commit is missing in the Jaunty kernel.  Will pull this back to Jaunty
and get some test kernels built.

-- 
installing ubuntu stoped on "installing system" on 0% without any progress for 
half an hour 
https://bugs.launchpad.net/bugs/376120
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to