On Thu, Nov 16, 2023 at 11:53 AM David Howells <dhowells@xxxxxxxxxx> wrote: > > AFS doesn't really do locking on R/O volumes as fileservers don't maintain > state with each other and thus a lock on a R/O volume file on one > fileserver will not be be visible to someone looking at the same file on > another fileserver. > > Further, the server may return an error if you try it. > > Fix this by doing what other AFS clients do and handle filelocking on R/O > volume files entirely within the client and don't touch the server. > > Fixes: 6c6c1d63c243 ("afs: Provide mount-time configurable byte-range file locking emulation") > Signed-off-by: David Howells <dhowells@xxxxxxxxxx> > cc: Marc Dionne <marc.dionne@xxxxxxxxxxxx> > cc: linux-afs@xxxxxxxxxxxxxxxxxxx > --- > fs/afs/super.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/fs/afs/super.c b/fs/afs/super.c > index 95d713074dc8..e95fb4cb4fcd 100644 > --- a/fs/afs/super.c > +++ b/fs/afs/super.c > @@ -407,6 +407,8 @@ static int afs_validate_fc(struct fs_context *fc) > return PTR_ERR(volume); > > ctx->volume = volume; > + if (volume->type != AFSVL_RWVOL) > + ctx->flock_mode = afs_flock_mode_local; > } > > return 0; Reviewed-by: Marc Dionne <marc.dionne@xxxxxxxxxxxx> Marc