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 | |
| parent | 0a5ebc148879be68acdb12fbe72b65cb88c410d9 (diff) | |
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 9ca38ab0e0..41b063c988 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) | |||
| 1037 | /* We can't create new files in nfs_open_revalidate(), so we | 1037 | /* We can't create new files in nfs_open_revalidate(), so we |
| 1038 | * optimize away revalidation of negative dentries. | 1038 | * optimize away revalidation of negative dentries. |
| 1039 | */ | 1039 | */ |
| 1040 | if (inode == NULL) | 1040 | if (inode == NULL) { |
| 1041 | if (!nfs_neg_need_reval(dir, dentry, nd)) | ||
| 1042 | ret = 1; | ||
| 1041 | goto out; | 1043 | goto out; |
| 1044 | } | ||
| 1045 | |||
| 1042 | /* NFS only supports OPEN on regular files */ | 1046 | /* NFS only supports OPEN on regular files */ |
| 1043 | if (!S_ISREG(inode->i_mode)) | 1047 | if (!S_ISREG(inode->i_mode)) |
| 1044 | goto no_open; | 1048 | goto no_open; |
