1. 01 5月, 2009 2 次提交
    • I
      Added loop check when mounting DFS tree. · 5c2503a8
      Igor Mammedov 提交于
      Added loop check when mounting DFS tree. mount will fail with
      ELOOP if referral walks exceed MAX_NESTED_LINK count.
      Signed-off-by: NIgor Mammedov <niallain@gmail.com>
      Acked-by: NJeff Layton <jlayton@redhat.com>
      Signed-off-by: NSteve French <sfrench@us.ibm.com>
      5c2503a8
    • S
      [CIFS] Remove older session setup implementation · 20418acd
      Steve French 提交于
      Two years ago, when the session setup code in cifs was rewritten and moved
      to fs/cifs/sess.c, we were asked to keep the old code for a release or so
      (which could be reenabled at runtime) since it was such a large change and
      because the asn (SPNEGO) and NTLMSSP code was not rewritten and needed to
      be. This was useful to avoid regressions, but is long overdue to be removed.
      Now that the Kerberos (asn/spnego) code is working in fs/cifs/sess.c,
      and the NTLMSSP code moved (NTLMSSP blob setup be rewritten with the
      next patch in this series) quite a bit of dead code from fs/cifs/connect.c
      now can be removed.
      
      This old code should have been removed last year, but the earlier krb5
      patches did not move/remove the NTLMSSP code which we had asked to
      be done first.  Since no one else volunteered, I am doing it now.
      
      It is extremely important that we continue to examine the documentation
      for this area, to make sure our code continues to be uptodate with
      changes since Windows 2003.
      Signed-off-by: NSteve French <sfrench@us.ibm.com>
      20418acd
  2. 30 4月, 2009 1 次提交
  3. 17 4月, 2009 7 次提交
  4. 18 3月, 2009 1 次提交
  5. 12 3月, 2009 2 次提交
    • S
      [CIFS] fix build error · 4717bed6
      Steve French 提交于
      Signed-off-by: NSteve French <sfrench@us.ibm.com>
      4717bed6
    • S
      [CIFS] Add new nostrictsync cifs mount option to avoid slow SMB flush · be652445
      Steve French 提交于
      If this mount option is set, when an application does an
      fsync call then the cifs client does not send an SMB Flush
      to the server (to force the server to write all dirty data
      for this file immediately to disk), although cifs still sends
      all dirty (cached) file data to the server and waits for the
      server to respond to the write write.  Since SMB Flush can be
      very slow, and some servers may be reliable enough (to risk
      delaying slightly flushing the data to disk on the server),
      turning on this option may be useful to improve performance for
      applications that fsync too much, at a small risk of server
      crash.  If this mount option is not set, by default cifs will
      send an SMB flush request (and wait for a response) on every
      fsync call.
      Signed-off-by: NSteve French <sfrench@us.ibm.com>
      be652445
  6. 21 2月, 2009 1 次提交
  7. 31 1月, 2009 1 次提交
  8. 29 1月, 2009 3 次提交
  9. 26 12月, 2008 11 次提交
  10. 18 11月, 2008 1 次提交
  11. 17 11月, 2008 1 次提交
  12. 15 11月, 2008 3 次提交
  13. 14 11月, 2008 3 次提交
    • S
      [CIFS] clean up server protocol handling · 3ec332ef
      Steve French 提交于
      We're currently declaring both a sockaddr_in and sockaddr6_in on the
      stack, but we really only need storage for one of them. Declare a
      sockaddr struct and cast it to the proper type. Also, eliminate the
      protocolType field in the TCP_Server_Info struct. It's redundant since
      we have a sa_family field in the sockaddr anyway.
      
      We may need to revisit this if SCTP is ever implemented, but for now
      this will simplify the code.
      
      CIFS over IPv6 also has a number of problems currently. This fixes all
      of them that I found. Eventually, it would be nice to move more of the
      code to be protocol independent, but this is a start.
      Signed-off-by: NJeff Layton <jlayton@redhat.com>
      Signed-off-by: NSteve French <sfrench@us.ibm.com>
      3ec332ef
    • D
      CRED: Wrap task credential accesses in the CIFS filesystem · a001e5b5
      David Howells 提交于
      Wrap access to task credentials so that they can be separated more easily from
      the task_struct during the introduction of COW creds.
      
      Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id().
      
      Change some task->e?[ug]id to task_e?[ug]id().  In some places it makes more
      sense to use RCU directly rather than a convenient wrapper; these will be
      addressed by later patches.
      Signed-off-by: NDavid Howells <dhowells@redhat.com>
      Reviewed-by: NJames Morris <jmorris@namei.org>
      Acked-by: NSerge Hallyn <serue@us.ibm.com>
      Cc: Steve French <sfrench@samba.org>
      Cc: linux-cifs-client@lists.samba.org
      Signed-off-by: NJames Morris <jmorris@namei.org>
      a001e5b5
    • S
      [CIFS] Fix cifs reconnection flags · 3b795210
      Steve French 提交于
      In preparation for Jeff's big umount/mount fixes to remove the possibility of
      various races in cifs mount and linked list handling of sessions, sockets and
      tree connections, this patch cleans up some repetitive code in cifs_mount,
      and addresses a problem with ses->status and tcon->tidStatus in which we
      were overloading the "need_reconnect" state with other status in that
      field.  So the "need_reconnect" flag has been broken out from those
      two state fields (need reconnect was not mutually exclusive from some of the
      other possible tid and ses states).  In addition, a few exit cases in
      cifs_mount were cleaned up, and a problem with a tcon flag (for lease support)
      was not being set consistently for the 2nd mount of the same share
      
      CC: Jeff Layton <jlayton@redhat.com>
      CC: Shirish Pargaonkar <shirishp@us.ibm.com>
      Signed-off-by: NSteve French <sfrench@us.ibm.com>
      3b795210
  14. 04 11月, 2008 1 次提交
  15. 31 10月, 2008 1 次提交
  16. 29 10月, 2008 1 次提交
    • S
      [CIFS] Reduce number of socket retries in large write path · edf1ae40
      Steve French 提交于
      CIFS in some heavy stress conditions cifs could get EAGAIN
      repeatedly in smb_send2 which led to repeated retries and eventually
      failure of large writes which could lead to data corruption.
      
      There are three changes that were suggested by various network
      developers:
      
      1) convert cifs from non-blocking to blocking tcp sendmsg
      (we left in the retry on failure)
      2) change cifs to not set sendbuf and rcvbuf size for the socket
      (let tcp autotune the buffer sizes since that works much better
      in the TCP stack now)
      3) if we have a partial frame sent in smb_send2, mark the tcp
      session as invalid (close the socket and reconnect) so we do
      not corrupt the remaining part of the SMB with the beginning
      of the next SMB.
      
      This does not appear to hurt performance measurably and has
      been run in various scenarios, but it definately removes
      a corruption that we were seeing in some high stress
      test cases.
      Acked-by: NShirish Pargaonkar <shirishp@us.ibm.com>
      Signed-off-by: NSteve French <sfrench@us.ibm.com>
      edf1ae40