[CIFS] Send SMB flush in cifs_fsync
authorSteve French <sfrench@us.ibm.com>
Sat, 21 Feb 2009 21:17:43 +0000 (21:17 +0000)
committerSteve French <sfrench@us.ibm.com>
Thu, 12 Mar 2009 01:36:20 +0000 (01:36 +0000)
commitb298f223559e0205244f553ceef8c7df3674da74
treea65cb2f64d1b999b7b573857a8b33bbb83ff97af
parentebdcc81c71937b30e09110c02a1e8a21fa770b6f
[CIFS] Send SMB flush in cifs_fsync

In contrast to the now-obsolete smbfs, cifs does not send SMB_COM_FLUSH
in response to an explicit fsync(2) to guarantee that all volatile data
is written to stable storage on the server side, provided the server
honors the request (which, to my knowledge, is true for Windows and
Samba with 'strict sync' enabled).
This patch modifies the cifs_fsync implementation to restore the
fsync-behavior of smbfs by triggering SMB_COM_FLUSH after sending
outstanding data on the client side to the server.

Signed-off-by: Horst Reiterer <horst.reiterer@gmail.com>
Acked-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: Steve French <sfrench@us.ibm.com>
fs/cifs/CHANGES
fs/cifs/cifs_debug.c
fs/cifs/cifsglob.h
fs/cifs/cifspdu.h
fs/cifs/cifsproto.h
fs/cifs/cifssmb.c
fs/cifs/file.c