[linux-cifs-client] [PATCH 0/7] cifs: clean up socket creation, connection and sending (try #2)

Jeff Layton jlayton at redhat.com
Sun Nov 30 18:40:29 GMT 2008


This patchset is intended as a cleanup of the code that creates and
connects sockets. It's also intended to unify the smb_send and smb_send2
functions, and simplify the sending code in the blocking I/O case. There
is a lot of duplicate code in those functions, and this should make it
easier to ensure that we fix bugs with it properly. This should also fix
the case where we get a partial send in smb_send. Previously, we did not
force a reconnect in that case.

This is the second post of this patchset. The main differences from the
original set are:

1) fix some symbol naming style issues that HCH pointed out

2) move the address handling into cifs_get_tcp_server and out of
   cifs_mount altogether (also pointed out by HCH)

3) the addition of a patch to reduce stack consumption in cifs_mount by
   dynamically allocating the volume_info

This patchset is also intended for 2.6.29 and depends on the 5 patch set
of cleanups that I sent last week.

I've only given this set cursory testing. If it looks OK, I'll plan to
do some more with it. The last set was more heavily tested, and showed
no functional or performance regressions as best I could tell. Since the
differences between that set and this one are fairly superficial, I
don't expect much difference in performance here.

Jeff Layton (7):
  cifs: convert tcpSem to a mutex
  cifs: move allocation of new TCP_Server_Info into separate function
  cifs: don't declare smb_vol info on the stack
  cifs: make ipv4_connect take a TCP_Server_Info arg
  cifs: make ipv6_connect take a TCP_Server_Info arg
  cifs: turn smb_send into a wrapper around smb_sendv
  cifs: don't retry on blocking sends

 fs/cifs/cifsglob.h  |    2 +-
 fs/cifs/cifsproto.h |    4 +-
 fs/cifs/connect.c   |  609 ++++++++++++++++++++++++++-------------------------
 fs/cifs/transport.c |  147 ++++---------
 4 files changed, 359 insertions(+), 403 deletions(-)



More information about the linux-cifs-client mailing list