Commit 6565ca09 authored by Pavel Shilovsky's avatar Pavel Shilovsky

Update 2.6.32 sources from stable (v2.6.32.59)

parent 4d8a1d57
...@@ -688,10 +688,26 @@ cifs_lookup(struct inode *parent_dir_inode, struct dentry *direntry, ...@@ -688,10 +688,26 @@ cifs_lookup(struct inode *parent_dir_inode, struct dentry *direntry,
* If either that or op not supported returned, follow * If either that or op not supported returned, follow
* the normal lookup. * 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; posix_open = true;
else if ((rc == -EINVAL) || (rc != -EOPNOTSUPP)) case -EOPNOTSUPP:
break;
default:
pTcon->broken_posix_open = true; pTcon->broken_posix_open = true;
}
} }
if (!posix_open) if (!posix_open)
rc = cifs_get_inode_info_unix(&newInode, full_path, rc = cifs_get_inode_info_unix(&newInode, full_path,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment