Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 288289
b: refs/heads/master
c: 5bccda0
h: refs/heads/master
i:
  288287: 5d4ae2c
v: v3
  • Loading branch information
Jeff Layton authored and Steve French committed Feb 27, 2012
1 parent 2e53295 commit eccbca6
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 3 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 6de2ce423157d06f73d570ef7044f08c2f8697da
refs/heads/master: 5bccda0ebc7c0331b81ac47d39e4b920b198b2cd
20 changes: 18 additions & 2 deletions trunk/fs/cifs/dir.c
Original file line number Diff line number Diff line change
Expand Up @@ -584,10 +584,26 @@ cifs_lookup(struct inode *parent_dir_inode, struct dentry *direntry,
* If either that or op not supported returned, follow
* the normal lookup.
*/
if ((rc == 0) || (rc == -ENOENT))
switch (rc) {
case 0:
/*
* The server may allow us to open things like
* FIFOs, but the client isn't set up to deal
* with that. If it's not a regular file, just
* close it and proceed as if it were a normal
* lookup.
*/
if (newInode && !S_ISREG(newInode->i_mode)) {
CIFSSMBClose(xid, pTcon, fileHandle);
break;
}
case -ENOENT:
posix_open = true;
else if ((rc == -EINVAL) || (rc != -EOPNOTSUPP))
case -EOPNOTSUPP:
break;
default:
pTcon->broken_posix_open = true;
}
}
if (!posix_open)
rc = cifs_get_inode_info_unix(&newInode, full_path,
Expand Down

0 comments on commit eccbca6

Please sign in to comment.