smbsrv raw mode is ill-advised
There are two optional features of the SMB protocol:
1: "raw mode" requests (read_raw, write_raw)
2: Opportunistic locks (cache delegations)
(2 is commonly referred to as "oplocks")
Those two features have some unfortunate interactions if a client attempts to use both features at the same time. (Basically, an oplock break can end up in the "raw" I/O data stream.)
These "raw mode" requests are only used by ancient clients,
and really don't add any value any more as a protocol feature,
having been superseded by CAP_LARGE_(READ|WRITE).
In the latest SMB specifications, MS recommends not implementing the "raw" requests.
Therefore, to avoid the above problems, I'm setting "raw_mode" to disabled by default. If someone wants to do historical investigations, it can be turned back on with a patch, but doing that will then disable oplocks.
(This change is from NexentaStor)
Updated by Gordon Ross over 8 years ago
- Status changed from New to Resolved
- % Done changed from 0 to 100
changeset: 13479:68b69d972a7f user: Gordon Ross <email@example.com> date: Thu Oct 06 10:22:06 2011 -0400 description: 1603 smbsrv raw mode is ill-advised Reviewed by: firstname.lastname@example.org Reviewed by: Dan Kruchinin <email@example.com> Reviewed by: Richard Lowe <firstname.lastname@example.org> Approved by: Garrett D'Amore <email@example.com>