Implementing SMB Semantics in a Linux Cluster
summary
Samba implements SMB share modes and leases in user space using a local TDB and a cluster layer CTDB clustered TDB that keeps a central open-file table with one entry per open handle, including delete-prevention and delegation state. Large records (tens of thousands of openers) force heavy cluster shuffling so a summary record bitmask plus lazy updates avoids full-array scans. Benchmarking shows roughly 100x speedup on a file with ~5,000 openers. Next steps: move record locks into a user-space locking library and expose per-node summaries for local-fast common cases.
AI-written summary · about
chapters (10)
- 0:00Intro
- 1:58What is Samba?
- 3:10What is SMB?
- 5:26Samba architecture
- 7:22SMB share modes and leases
- 11:20Implementation of SMB locking
- 15:15ctdb Architecture
- 20:19Scalability work on progress
- 24:56Next steps
- 27:14Questions?
related talks
20mscoutfs: Large Scale POSIX Archiving
17mSingularFS: A Billion-Scale Distributed File System Using a Single Metadata Server
12mFacebook's Tectonic Filesystem: Efficiency from Exascale
20mFine Grained Replicated State Machines for a Cluster Storage System
34mDistributed systems 102
13mDMTree: Towards Efficient Tree Indexing on Disaggregated Memory via Compute-side...
15mCitron: Distributed Range Lock Management with One-sided RDMA
15mLODIC: Logical Distributed Counting for Scalable File Access
