The Samba project was originally designed to allow clients and servers to talk to the Microsoft SMB protocol. It has since evolved to be able to act as a full Windows domain controller. As Samba can act as a file server for clients talking to the SMB protocol, it can be used to export CephFS to Windows clients.
There is a separate project called CTDB that's used in conjunction with Samba to create a failover cluster to provide highly available SMB shares. CTDB uses the concept of a recovery lock to detect and handle split-brain scenarios. Traditionally, CTDB has used an area of a clustered filesystem to store the recovery lock file; however, this approach does not work very well with CephFS because of the fact that ...