[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CAB9dFds4+gxWidvxWBU8PNO+wiLO0CkpudahjrymFxj5U_qXoQ@mail.gmail.com>
Date: Wed, 22 Nov 2023 15:05:37 -0400
From: Marc Dionne <marc.dionne@...istor.com>
To: David Howells <dhowells@...hat.com>
Cc: linux-afs@...ts.infradead.org, linux-fsdevel@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH 4/5] afs: Fix file locking on R/O volumes to operate in
local mode
On Thu, Nov 16, 2023 at 11:53 AM David Howells <dhowells@...hat.com> 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@...hat.com>
> cc: Marc Dionne <marc.dionne@...istor.com>
> cc: linux-afs@...ts.infradead.org
> ---
> 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@...istor.com>
Marc
Powered by blists - more mailing lists