[Cluster-devel] [PATCH 1/7] lockd: introduce safe async lock op
Chuck Lever
chuck.lever at oracle.com
Wed Aug 30 13:45:04 UTC 2023
On Wed, Aug 30, 2023 at 08:32:43AM -0400, Alexander Aring wrote:
> Hi,
>
> On Fri, Aug 25, 2023 at 1:21 PM Chuck Lever <chuck.lever at oracle.com> wrote:
> >
> > On Wed, Aug 23, 2023 at 05:33:46PM -0400, Alexander Aring wrote:
> > > This patch reverts mostly commit 40595cdc93ed ("nfs: block notification
> > > on fs with its own ->lock") and introduces an EXPORT_OP_SAFE_ASYNC_LOCK
> > > export flag to signal that the "own ->lock" implementation supports
> > > async lock requests. The only main user is DLM that is used by GFS2 and
> > > OCFS2 filesystem. Those implement their own lock() implementation and
> > > return FILE_LOCK_DEFERRED as return value. Since commit 40595cdc93ed
> > > ("nfs: block notification on fs with its own ->lock") the DLM
> > > implementation were never updated. This patch should prepare for DLM
> > > to set the EXPORT_OP_SAFE_ASYNC_LOCK export flag and update the DLM
> > > plock implementation regarding to it.
> > >
> > > Acked-by: Jeff Layton <jlayton at kernel.org>
> > > Signed-off-by: Alexander Aring <aahringo at redhat.com>
> > > ---
> > > fs/lockd/svclock.c | 5 ++---
> > > fs/nfsd/nfs4state.c | 13 ++++++++++---
> > > include/linux/exportfs.h | 8 ++++++++
> > > 3 files changed, 20 insertions(+), 6 deletions(-)
> >
> > I'm starting to look at these. Just so you know, it's too late for
> > inclusion in v6.6, but I think we can get these into shape for v6.7.
> >
>
> ok. I base my work on [0], is this correct?
Correct.
Fyi, that is currently what is pending for v6.6. When the merge
window closes, it will jump to what will go into v6.7.
> > - The f_op->lock check is common to all the call sites, but it is
> > not at all related to the export AFAICT. Can it be removed from
> > this inline function?
> >
>
> This flag implies it makes only sense if the filesystem has its own
> lock() implementation, if it doesn't have that I guess the core fs
> functions for local file locking are being used.
> I guess it can be removed, but it should not be used when there is no
> own ->lock() implementation, at least not now until somebody might
> update the fs core functionality for local file locking to handle
> blocking lock requests asynchronously.
Can that be handled with a remark in the documenting comment?
> [0] https://git.kernel.org/pub/scm/linux/kernel/git/cel/linux.git/log/?h=nfsd-next
--
Chuck Lever
More information about the Cluster-devel
mailing list