Some corrections, hence resending:
Hi,
I see "samba with ctdb" locking has following mappings when
enabled with "kernel oplocks = yes".
share mode reservations = flock(2), if not supported by filesystem
use ctdb with locking.tdb
POSIX byte range locks = fcntl(2), if not supported by filesystem,
deny locking
SMB byte range locks (mandatory) = use ctdb with brlock.tdb, also
map to filesystem's fcntl(2)
oplocks = fcntl(2) using F_SETLEASE, if not supported by filesystem
use ctdb with locking.tdb
Am I correct or I am missing something? I hope only SMB range
locks are implemented with tdb, all else are being used from filesystem.
What happens if flock or fcntl returns -ENOTSUPP, will samba start
using ctdb with tdb files (locking.tdb) for that or will it say "not
supported"
to CIFS client?
Thanks,
Rajesh
On Tue, Jun 19, 2012 at 3:50 PM, Rajesh Ghanekar <rajeshsg at gmail.com>
wrote:> Hi,
> ? I see samba with ctdb locking has following mapping when
> kernel oplocks = yes.
>
> ? share mode reservations = flock(2)
> ? posix byte range locking = fcntl(2)
> ? SMB locks (mandatory) = ctdb using brlock.tdb
> ? oplocks = fcntl(2) using F_SETLEASE
>
> ?Am I correct or I am missing something? I hope only SMB range
> locks are implemented with tdb, all else are being used from filesystem.
> What happens if flock or fcntl returns -ENOTSUPP, will samba start
> using other tdb files (locking.tdb) for that or will it say "not
supported"
> to CIFS client?
>
> Thanks,
> Rajesh