diff options
author | Trond Myklebust <Trond.Myklebust@netapp.com> | 2007-10-02 02:10:12 +0200 |
---|---|---|
committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2007-10-09 23:20:03 +0200 |
commit | 216d5d06883edfaf992ada0d72a2a22fdfdbd296 (patch) | |
tree | 4b3ff79736cb09a2bb565383232243971a9a8e2f | |
parent | NFSv4: Don't revalidate the directory in nfs_atomic_lookup() (diff) | |
download | linux-216d5d06883edfaf992ada0d72a2a22fdfdbd296.tar.xz linux-216d5d06883edfaf992ada0d72a2a22fdfdbd296.zip |
NFSv4: Use NFSv2/v3 rules for negative dentries in nfs_open_revalidate
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
-rw-r--r-- | fs/nfs/dir.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/fs/nfs/dir.c b/fs/nfs/dir.c index 9ca38ab0e0a7..41b063c98822 100644 --- a/fs/nfs/dir.c +++ b/fs/nfs/dir.c @@ -1037,8 +1037,12 @@ static int nfs_open_revalidate(struct dentry *dentry, struct nameidata *nd) /* We can't create new files in nfs_open_revalidate(), so we * optimize away revalidation of negative dentries. */ - if (inode == NULL) + if (inode == NULL) { + if (!nfs_neg_need_reval(dir, dentry, nd)) + ret = 1; goto out; + } + /* NFS only supports OPEN on regular files */ if (!S_ISREG(inode->i_mode)) goto no_open; |