aboutsummaryrefslogtreecommitdiffstats
path: root/fs/nfs/dir.c
diff options
context:
space:
mode:
authorTrond Myklebust <Trond.Myklebust@netapp.com>2005-10-18 17:20:18 -0400
committerTrond Myklebust <Trond.Myklebust@netapp.com>2005-10-18 17:20:18 -0400
commit6f926b5ba75c568296ec227e7d782db4ddbdca5c (patch)
tree6c9aad3139ae4e54210ab5ff37446c357c54b521 /fs/nfs/dir.c
parent02a913a73b52071e93f4b76db3e86138d19efffd (diff)
[NFS]: Check that the server returns a valid regular file to our OPEN request
Since it appears that some servers don't... Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'fs/nfs/dir.c')
-rw-r--r--fs/nfs/dir.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/fs/nfs/dir.c b/fs/nfs/dir.c
index a6e251f21fd8..ac331d2d4c4a 100644
--- a/fs/nfs/dir.c
+++ b/fs/nfs/dir.c
@@ -957,10 +957,12 @@ static struct dentry *nfs_atomic_lookup(struct inode *dir, struct dentry *dentry
957 res = NULL; 957 res = NULL;
958 goto out; 958 goto out;
959 /* This turned out not to be a regular file */ 959 /* This turned out not to be a regular file */
960 case -EISDIR:
961 case -ENOTDIR:
962 goto no_open;
960 case -ELOOP: 963 case -ELOOP:
961 if (!(nd->intent.open.flags & O_NOFOLLOW)) 964 if (!(nd->intent.open.flags & O_NOFOLLOW))
962 goto no_open; 965 goto no_open;
963 /* case -EISDIR: */
964 /* case -EINVAL: */ 966 /* case -EINVAL: */
965 default: 967 default:
966 goto out; 968 goto out;