GSOC 2015 Aspirant for Improving SMB3 protocol improvements
smfrench at gmail.com
Sat Mar 7 21:29:56 MST 2015
On Wed, Mar 4, 2015 at 5:45 AM, Saket Sinha <saket.sinha89 at gmail.com> wrote:
> I am looking forward to paticipate in GSOC 2015 with Samba community for
> Improving SMB3 protocol improvements.
> This is to discuss the idea further in order to build my understanding of
> the project.
> The TODOs listed here show the following -
> 1. Support for using multiple network interfaces at once under the
> same mount (SMB3 multichannel)
> 2. Improved directory and metadata caching ("directory oplocks")
> 3. Improved failover in clustering environments ("persistent file
> handles" and more generally SMB3 "continuous availability" support)
> 4. File copy offload (there are multiple server side copy mechanisms
> possible with SMB3, T10 copy offload, SMB2/SMB3 "copy chunk" as well as an
> older cifs mechanism "SMB Copy" that could be implemented, compared and
> 5. HA availability improvements on server and/or client (the SMB3
> "Witness protocol")
> I would like to be guided which one I should pick up to get started.
> I know I can get the documentation about these improvements from WSPP
> and since they have implementations in current Windows clients and servers
> already, I would also be able test them with Linux side code that I
> would be developing.
I like all of the proposed topics, but here are some general thoughts:
1) Multiadapter support
Advantage: big performance advantage for some common cases (e.g. RSS
capable adapters, and also two adapter scenarios) and prepares for RDMA in
the future which will help cifs.ko in even more workloads
Disadvantage: testing may require more physical hardware (two, dual
adapter machines to demonstrate performance improvements).
2) Directory oplocks:
Advantage: will reduce network load a lot in some workloads, and improve
performance as well. Works with recent Windows servers (Windows 2012 and
Disadvantage: Samba does not support it yet (although this might help drive
changes to the Server and Linux VFS eventually, if we have client support).
3) Failover/ContinuousAvailability and 5) HA improvements (Witness protocol)
Advantage: Improved reliability, data integrity - may also allow planned
migrations (moving data from one server to another)
Disadvantage: complexity, requires additional RPC infrastructure in client
4) File Copy Offload: T10 operations, and improved tools for using
Advantage: improved performance. Good news is that CopyChunk already
works. May be even more useful if TRIM/DISCARD support also added
Disadvantage: no cross-filesystem user space tools for NFSv4.2 and CIFS
More information about the samba-technical