diff options
Diffstat (limited to 'source4/ntvfs')
-rw-r--r-- | source4/ntvfs/cifs/vfs_cifs.c | 2 | ||||
-rw-r--r-- | source4/ntvfs/nbench/vfs_nbench.c | 4 | ||||
-rw-r--r-- | source4/ntvfs/simple/vfs_simple.c | 4 |
3 files changed, 9 insertions, 1 deletions
diff --git a/source4/ntvfs/cifs/vfs_cifs.c b/source4/ntvfs/cifs/vfs_cifs.c index c669414e09..2b4f9bb8c5 100644 --- a/source4/ntvfs/cifs/vfs_cifs.c +++ b/source4/ntvfs/cifs/vfs_cifs.c @@ -714,6 +714,8 @@ static NTSTATUS cvfs_flush(struct ntvfs_module_context *ntvfs, case RAW_FLUSH_ALL: io->generic.in.file.fnum = 0xFFFF; break; + case RAW_FLUSH_SMB2: + return NT_STATUS_INVALID_LEVEL; } if (!(req->async_states->state & NTVFS_ASYNC_STATE_MAY_ASYNC)) { diff --git a/source4/ntvfs/nbench/vfs_nbench.c b/source4/ntvfs/nbench/vfs_nbench.c index 2df3b95494..f7834a9751 100644 --- a/source4/ntvfs/nbench/vfs_nbench.c +++ b/source4/ntvfs/nbench/vfs_nbench.c @@ -566,6 +566,10 @@ static void nbench_flush_send(struct ntvfs_request *req) 0xFFFF, get_nt_error_c_code(req->async_states->status)); break; + default: + nbench_log(req, "Flush-%d - NOT HANDLED\n", + io->generic.level); + break; } PASS_THRU_REP_POST(req); diff --git a/source4/ntvfs/simple/vfs_simple.c b/source4/ntvfs/simple/vfs_simple.c index e0f0083630..9e5d4ae922 100644 --- a/source4/ntvfs/simple/vfs_simple.c +++ b/source4/ntvfs/simple/vfs_simple.c @@ -580,7 +580,9 @@ static NTSTATUS svfs_flush(struct ntvfs_module_context *ntvfs, switch (io->generic.level) { case RAW_FLUSH_FLUSH: - f = find_fd(private, io->flush.in.file.ntvfs); + case RAW_FLUSH_SMB2: + /* ignore the additional unknown option in SMB2 */ + f = find_fd(private, io->generic.in.file.ntvfs); if (!f) { return NT_STATUS_INVALID_HANDLE; } |