Hi all, I’m encountering unexpected behavior when testing file locking semantics on CephFS accessed concurrently via Samba and NFS, both backed by libcephfs. I’m running a CephFS cluster with both Samba and NFS-Ganesha services. All clients (Samba and NFS) use libcephfs as the underlying CephFS mount mechanism. My goal is to verify how file locking behaves across protocols (SMB and NFS) and whether POSIX lock interoperability is maintained. Ceph version: 19.2.2 Samba version: 4.20.7 Ganesha version: V5.5 "posix locking = yes" is toggled in Samba For each combination of mount type and posix locking setting in Samba, we test: 1. flock()/fcntl() from NFS and Samba clients. 2. Write attempts from the other side (e.g., NFS flock, then Samba write). A. Samba with libcephfs + posix locking = yes - samba flock()/fcntl(), samba write() -> permission denied (expected) - nfs flock()/fcntl(), samba write() -> write succeeds (unexpected) - samba flock()/fcntl(), nfs write() -> write succeeds (expected) - nfs flock()/fcntl(), nfs write() -> write succeeds (expected) B. Samba with libcephfs + posix locking = no - samba flock()/fcntl(), samba write() -> permission denied (expected) - nfs flock()/fcntl(), samba write() -> write succeeds (expected) - samba flock()/fcntl(), nfs write() -> write succeeds (expected) - nfs flock()/fcntl(), nfs write() -> write succeeds (expected) We expected that if "posix locking = yes", locks obtained via NFS (via fcntl or flock) would be respected by Samba as POSIX locks, but in case A, they are seemingly ignored. On the other hand, using ceph kernel mount for Samba (instead of libcephfs) respect NFS-side locks when "posix locking = yes". (deny write when NFS obtain flock/fcntl locks) My questions are: 1. Is this behavior expected with libcephfs? 2. Are there known limitations when mixing cephfs use across protocols? 3. Is there a recommended practice for exporting cephfs volumes by Samba and NFS simultaneously? Any comments would be greatly appreciated, and please let me know if any additional logs or test code would be helpful. Thanks, Frank