diff options
author | Trond Myklebust <Trond.Myklebust@netapp.com> | 2007-10-01 20:10:12 -0400 |
---|---|---|
committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2007-10-09 17:20:03 -0400 |
commit | 216d5d06883edfaf992ada0d72a2a22fdfdbd296 (patch) | |
tree | 4b3ff79736cb09a2bb565383232243971a9a8e2f /fs/nfs | |
parent | 0a5ebc148879be68acdb12fbe72b65cb88c410d9 (diff) | |
download | linux-stable-216d5d06883edfaf992ada0d72a2a22fdfdbd296.tar.gz linux-stable-216d5d06883edfaf992ada0d72a2a22fdfdbd296.tar.bz2 linux-stable-216d5d06883edfaf992ada0d72a2a22fdfdbd296.zip |
NFSv4: Use NFSv2/v3 rules for negative dentries in nfs_open_revalidate
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'fs/nfs')
-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; |