lkml.org 
[lkml]   [2003]   [Jun]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    SubjectRe: [PATCH] nfs_unlink() race (was: nfs_refresh_inode: inode number mismatch)
    From
    On Wed, Jun 11, 2003 at 07:47:24PM +0200, Trond Myklebust wrote:
    > >>>>> " " == Trond Myklebust <trond.myklebust@fys.uio.no> writes:
    >
    > > 2.4 has the 'return ESTALE if current dir fails d_revalidate()'
    > > test. Looks like the vfat stuff has the same problem that
    >
    > I should learn to complete my own sentences before sending... The
    > above should read:
    >
    > Looks like the vfat stuff has the same problem that Coda did. It is
    > unintentionally triggering the ESTALE code, as it assumes that
    > d_revalidate() is advisory only.

    Coda still has the problem with 2.4. The only thing I have been telling
    people that hit the problem is to take the revalidate patch out.

    btw. The sheer number of problem cases is already reduced significantly
    by the following patch which avoids calling revalidate on every name
    that happens to start with a '.'.

    Jan


    diff -urN --exclude-from=dontdiff linux-2.4.21-rc2/fs/namei.c linux-2.4.21-rc2-coda/fs/namei.c
    --- linux-2.4.21-rc2/fs/namei.c 2003-05-09 02:20:44.000000000 -0400
    +++ linux-2.4.21-rc2-coda/fs/namei.c 2003-05-14 02:23:07.000000000 -0400
    @@ -627,6 +627,8 @@
    nd->last_type = LAST_DOT;
    else if (this.len == 2 && this.name[1] == '.')
    nd->last_type = LAST_DOTDOT;
    + else
    + goto return_base;
    return_reval:
    /*
    * We bypassed the ordinary revalidation routines.

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

    \
     
     \ /
      Last update: 2005-03-22 13:36    [W:0.320 / U:0.584 seconds]
    ©2003-2014 Jasper Spaans. hosted at Digital Ocean