On 3/11/2021 5:11 AM, Aurélien Aptel wrote:
"Alejandro Colomar (man-pages)" <alx.manpages@xxxxxxxxx> writes:
I agree with Tom. It's much easier to read if you just say that 'nobrl'
torns off the non-locale behaviour, and acts as 5.4 and earlier kernels.
Unless there's any subtlety that makes it different. Is there any?
nobrl also makes fnctl() locks local.
In 5.4 and earlier kernel, flock() is local but fnctl() isn't.
BTW, you should use "semantic newlines":
Ok, I'll redo once we agree on the text.
I wonder if it's best to leave the nobrl details to the mount.cifs
manpage, and just make a reference from here.
Another advantage of putting this in a cifs.ko-specific manpage
is that it would be significantly easier to maintain. The details
of a 5.4-to-5.5 transition are going to fade over time, and the
APIs in fcntl(2)/flock(2) really aren't driving that.
If not, it's going to be messy... Aurélien is this correct?
cifs.ko flock()
- local in <= 5.4
- remote by default in >= 5.5
- local if nobrl in >= 5.5
cifs.ko fcntl()
- remote by default in X.Y
- local if nobrl in X.Y
Not sure what the value(s) of X.Y actually might be.
It seems odd that "nobrl" means "handle locking locally, and never
send to server". I mean, there is always byte-range locking, right?
Are there any other options or configurations that alter this?
Tom.