lkml.org 
[lkml]   [2010]   [May]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    SubjectRe: 2.6.33.3-rt19 kernel BUG's
    From
    Date
    On Fri, 2010-05-07 at 23:58 +0000, Fernando Lopez-Lezcano wrote:
    > On Fri, 2010-05-07 at 16:43 -0700, john stultz wrote:
    > > On Fri, 2010-05-07 at 12:41 +0200, Thomas Gleixner wrote:
    > > > On Thu, 6 May 2010, Fernando Lopez-Lezcano wrote:
    > > >
    > > > CC'ed John and Nick
    > > >
    > > > > See below... just trying to boot (quad core desktop machine).
    > >
    > > Ok. Got this to reproduce. Will hopefully have a fix for your soon.
    > >
    > > Thanks for the bug report!
    >
    > Thanks for looking at it! It had been a while since I had problems with
    > rt so I could not understand why I could not login :-)

    Bah! I should have caught this faster. I kept thinking it had to be some
    missed unlock of the sbi->fs_lock, but it ends up its just the
    autofs4_lock.

    Apparently the conversion from using the dcache_lock -> autofs4_lock
    forgot that this function already grabs the autofs_lock for a small
    moment, so we end up grabbing the lock, then a moment later grab it
    again. Splat.

    This patch should resolve it.

    Signed-off-by: John Stultz <johnstul@us.ibm.com>

    diff --git a/fs/autofs4/root.c b/fs/autofs4/root.c
    index 5b26088..a7eaa32 100644
    --- a/fs/autofs4/root.c
    +++ b/fs/autofs4/root.c
    @@ -438,12 +438,10 @@ static int autofs4_revalidate(struct dentry *dentry, struct nameidata *nd)
    }

    /* Check for a non-mountpoint directory with no contents */
    - spin_lock(&autofs4_lock);
    if (S_ISDIR(dentry->d_inode->i_mode) &&
    !d_mountpoint(dentry) && list_empty(&dentry->d_subdirs)) {
    DPRINTK("dentry=%p %.*s, emptydir",
    dentry, dentry->d_name.len, dentry->d_name.name);
    - spin_unlock(&autofs4_lock);

    if (autofs4_need_mount(flags) || current->link_count) {
    int status;






    \
     
     \ /
      Last update: 2010-05-08 02:41    [W:0.023 / U:0.284 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site