lkml.org 
[lkml]   [2005]   [Oct]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: [PATCH] nfs: don't drop dentry in d_revalidate
    From
    Date
    fr den 07.10.2005 Klokka 13:21 (+0200) skreiv Miklos Szeredi:
    > NFS d_revalidate() is doing things that are supposed to be done by
    > d_invalidate().
    >
    > Dropping the dentry is especially bad, since it will make
    > d_invalidate() bypass all checks.

    NAK!

    Bypassing the stupid d_invalidate checks is precisely the point here.

    Unlike local filesystems, we have to deal with the case where someone
    deletes a file on the server and then creates a new one with the same
    name. The d_invalidate checks will keep the wrong dentry hashed for as
    long as some borken process has the file open.

    Trond

    > Signed-off-by: Miklos Szeredi <miklos@szeredi.hu>
    > ---
    >
    > Index: linux/fs/nfs/dir.c
    > ===================================================================
    > --- linux.orig/fs/nfs/dir.c 2005-10-04 13:59:57.000000000 +0200
    > +++ linux/fs/nfs/dir.c 2005-10-07 12:53:45.000000000 +0200
    > @@ -762,12 +762,7 @@ out_zap_parent:
    > if (inode && S_ISDIR(inode->i_mode)) {
    > /* Purge readdir caches. */
    > nfs_zap_caches(inode);
    > - /* If we have submounts, don't unhash ! */
    > - if (have_submounts(dentry))
    > - goto out_valid;
    > - shrink_dcache_parent(dentry);
    > }
    > - d_drop(dentry);
    > unlock_kernel();
    > dput(parent);
    > return 0;
    > -
    > 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/

    -
    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-10-07 15:55    [W:0.025 / U:1.660 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site