mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-25 13:14:07 +08:00
Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6: [CIFS] Fix sparse warning [CIFS] Duplicate data on appending to some Samba servers [CIFS] fix oops in cifs_lookup during net boot
This commit is contained in:
commit
99d7832c0e
@ -1,3 +1,12 @@
|
||||
Version 1.61
|
||||
------------
|
||||
Fix append problem to Samba servers (files opened with O_APPEND could
|
||||
have duplicated data). Fix oops in cifs_lookup. Workaround problem
|
||||
mounting to OS/400 Netserve. Fix oops in cifs_get_tcp_session.
|
||||
Disable use of server inode numbers when server only
|
||||
partially supports them (e.g. for one server querying inode numbers on
|
||||
FindFirst fails but QPathInfo queries works).
|
||||
|
||||
Version 1.60
|
||||
-------------
|
||||
Fix memory leak in reconnect. Fix oops in DFS mount error path.
|
||||
|
@ -214,8 +214,6 @@ int cifs_posix_open(char *full_path, struct inode **pinode,
|
||||
posix_flags |= SMB_O_EXCL;
|
||||
if (oflags & O_TRUNC)
|
||||
posix_flags |= SMB_O_TRUNC;
|
||||
if (oflags & O_APPEND)
|
||||
posix_flags |= SMB_O_APPEND;
|
||||
if (oflags & O_SYNC)
|
||||
posix_flags |= SMB_O_SYNC;
|
||||
if (oflags & O_DIRECTORY)
|
||||
@ -643,9 +641,9 @@ cifs_lookup(struct inode *parent_dir_inode, struct dentry *direntry,
|
||||
* O_EXCL: optimize away the lookup, but don't hash the dentry. Let
|
||||
* the VFS handle the create.
|
||||
*/
|
||||
if (nd->flags & LOOKUP_EXCL) {
|
||||
if (nd && (nd->flags & LOOKUP_EXCL)) {
|
||||
d_instantiate(direntry, NULL);
|
||||
return 0;
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* can not grab the rename sem here since it would
|
||||
@ -675,7 +673,7 @@ cifs_lookup(struct inode *parent_dir_inode, struct dentry *direntry,
|
||||
* reduction in network traffic in the other paths.
|
||||
*/
|
||||
if (pTcon->unix_ext) {
|
||||
if (!(nd->flags & (LOOKUP_PARENT | LOOKUP_DIRECTORY)) &&
|
||||
if (nd && !(nd->flags & (LOOKUP_PARENT | LOOKUP_DIRECTORY)) &&
|
||||
(nd->flags & LOOKUP_OPEN) && !pTcon->broken_posix_open &&
|
||||
(nd->intent.open.flags & O_CREAT)) {
|
||||
rc = cifs_posix_open(full_path, &newInode, nd->path.mnt,
|
||||
|
Loading…
Reference in New Issue
Block a user