OSDN Git Service

cifs: cork the socket before a send and uncork it afterward
authorJeff Layton <jlayton@redhat.com>
Tue, 18 Sep 2012 23:20:35 +0000 (16:20 -0700)
committerSteve French <smfrench@gmail.com>
Tue, 25 Sep 2012 02:46:31 +0000 (21:46 -0500)
commitb8eed28375a43e1c9aaa9d15af2a052aae0d0725
treee63b713d5ae69afee73bf40487e5f067f2a66eb9
parent6f49f46b187df34539f1e5df2469b8a541897700
cifs: cork the socket before a send and uncork it afterward

We want to send SMBs as "atomically" as possible. Prior to sending any
data on the socket, cork it to make sure that no non-full frames go
out. Afterward, uncork it to make sure all of the data gets pushed out
to the wire.

Note that this more or less renders the socket=TCP_NODELAY mount option
obsolete. When TCP_CORK and TCP_NODELAY are used on the same socket,
TCP_NODELAY is essentially ignored.

Acked-by: Pavel Shilovsky <pshilovsky@samba.org>
Signed-off-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: Steve French <smfrench@gmail.com>
fs/cifs/connect.c
fs/cifs/transport.c