]> bbs.cooldavid.org Git - net-next-2.6.git/commit - fs/cifs/inode.c
[CIFS] file create with acl support enabled is slow
authorSteve French <sfrench@us.ibm.com>
Fri, 14 Mar 2008 22:37:16 +0000 (22:37 +0000)
committerSteve French <sfrench@us.ibm.com>
Fri, 14 Mar 2008 22:37:16 +0000 (22:37 +0000)
commit8b1327f6ed957030a64ccdb17131955bfea2d3fe
tree075ff00b4c333ef333aff5927eac45bde16d8d53
parentebe8912be214662c8289977fb416c1f015df4a0b
[CIFS] file create with acl support enabled is slow

Shirish Pargaonkar noted:
With cifsacl mount option, when a file is created on the Windows server,
exclusive oplock is broken right away because the get cifs acl code
again opens the file to obtain security descriptor.
The client does not have the newly created file handle or inode in any
of its lists yet so it does not respond to oplock break and server waits for
its duration and then responds to the second open. This slows down file
creation signficantly.  The fix is to pass the file descriptor to the get
cifsacl code wherever available so that get cifs acl code does not send
second open (NT Create ANDX) and oplock is not broken.

CC: Shirish Pargaonkar <shirishp@us.ibm.com>
Signed-off-by: Steve French <sfrench@us.ibm.com>
fs/cifs/cifsacl.c
fs/cifs/cifsproto.h
fs/cifs/dir.c
fs/cifs/file.c
fs/cifs/inode.c
fs/cifs/link.c