1. 01 4月, 2009 1 次提交
  2. 28 3月, 2009 1 次提交
  3. 12 3月, 2009 1 次提交
  4. 21 2月, 2009 1 次提交
    • S
      [CIFS] improve posix semantics of file create · c3b2a0c6
      Steve French 提交于
      Samba server added support for a new posix open/create/mkdir operation
      a year or so ago, and we added support to cifs for mkdir to use it,
      but had not added the corresponding code to file create.
      
      The following patch helps improve the performance of the cifs create
      path (to Samba and servers which support the cifs posix protocol
      extensions).  Using Connectathon basic test1, with 2000 files, the
      performance improved about 15%, and also helped reduce network traffic
      (17% fewer SMBs sent over the wire) due to saving a network round trip
      for the SetPathInfo on every file create.
      
      It should also help the semantics (and probably the performance) of
      write (e.g. when posix byte range locks are on the file) on file
      handles opened with posix create, and adds support for a few flags
      which would have to be ignored otherwise.
      Signed-off-by: NSteve French <sfrench@us.ibm.com>
      c3b2a0c6
  5. 29 1月, 2009 1 次提交
  6. 26 12月, 2008 1 次提交
  7. 14 11月, 2008 1 次提交
  8. 06 8月, 2008 2 次提交
  9. 24 5月, 2008 1 次提交
    • J
      when creating new inodes, use file_mode/dir_mode exclusively on mount without unix extensions · b0fd30d3
      Jeff Layton 提交于
      When CIFS creates a new inode on a mount without unix extensions, it
      temporarily assigns the mode that was passed to it in the create/mkdir
      call. Eventually, when the inode is revalidated, it changes to have the
      file_mode or dir_mode for the mount. This is confusing to users who
      expect that the mode shouldn't change this way. It's also problematic
      since only the mode is treated this way, not the uid or gid. Suppose you
      have a CIFS mount that's mounted with:
      
      uid=0,gid=0,file_mode=0666,dir_mode=0777
      
      ...if an unprivileged user comes along and does this on the mount:
      
      mkdir -m 0700 foo
      touch foo/bar
      
      ...there is a period of time where the touch will fail, since the dir
      will initially be owned by root and have mode 0700. If the user waits
      long enough, then "foo" will be revalidated and will get the correct
      dir_mode permissions.
      
      This patch changes cifs_mkdir and cifs_create to not overwrite the
      mode found by the initial cifs_get_inode_info call after the inode is
      created on the server. Legacy behavior can be reenabled with the
      new "dynperm" mount option.
      Signed-off-by: NJeff Layton <jlayton@redhat.com>
      Signed-off-by: NSteve French <sfrench@us.ibm.com>
      b0fd30d3
  10. 15 5月, 2008 2 次提交
  11. 12 5月, 2008 1 次提交
    • J
      [CIFS] when not using unix extensions, check for and set ATTR_READONLY on create and mkdir · 67750fb9
      Jeff Layton 提交于
      When creating a directory on a CIFS share without POSIX extensions,
      and the given mode has no write bits set, set the ATTR_READONLY bit.
      
      When creating a file, set ATTR_READONLY if the create mode has no write
      bits set and we're not using unix extensions.
      
      There are some comments about this being problematic due to the VFS
      splitting creates into 2 parts. I'm not sure what that's actually
      talking about, but I'm assuming that it has something to do with how
      mknod is implemented. In the simple case where we have no unix
      extensions and we're just creating a regular file, there's no reason
      we can't set ATTR_READONLY.
      Signed-off-by: NJeff Layton <jlayton@redhat.com>
      Signed-off-by: NSteve French <sfrench@us.ibm.com>
      67750fb9
  12. 29 4月, 2008 1 次提交
  13. 15 3月, 2008 1 次提交
    • S
      [CIFS] file create with acl support enabled is slow · 8b1327f6
      Steve French 提交于
      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: NSteve French <sfrench@us.ibm.com>
      8b1327f6
  14. 08 2月, 2008 1 次提交
  15. 20 1月, 2008 1 次提交
  16. 24 10月, 2007 1 次提交
  17. 29 9月, 2007 2 次提交
  18. 31 8月, 2007 1 次提交
  19. 19 7月, 2007 1 次提交
  20. 12 7月, 2007 1 次提交
  21. 10 7月, 2007 1 次提交
  22. 08 6月, 2007 1 次提交
    • S
      [CIFS] CIFS should honour umask · 3ce53fc4
      Steve French 提交于
      This patch makes CIFS honour a process' umask like other filesystems.
      Of course the server is still free to munge the permissions if it wants
      to; but the client will send the "right" permissions to begin with.
      
      A few caveats:
      
      1) It only applies to filesystems that have CAP_UNIX (aka support unix
      extensions)
      2) It applies the correct mode to the follow up CIFSSMBUnixSetPerms()
      after remote creation
      
      When mode to CIFS/NTFS ACL mapping is complete we can do the
      same thing for that case for servers which do not
      support the Unix Extensions.
      Signed-off-by: NMatt Keenen <matt@opcode-solutions.com>
      Signed-off-by: NSteve French <sfrench@us.ibm.com>
      3ce53fc4
  23. 06 6月, 2007 2 次提交
  24. 03 5月, 2007 1 次提交
  25. 27 2月, 2007 1 次提交
  26. 21 9月, 2006 1 次提交
  27. 15 8月, 2006 1 次提交
  28. 07 6月, 2006 1 次提交
  29. 01 6月, 2006 2 次提交
  30. 22 4月, 2006 2 次提交
  31. 23 3月, 2006 1 次提交
  32. 10 3月, 2006 1 次提交
  33. 22 2月, 2006 1 次提交
  34. 02 12月, 2005 1 次提交