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@xxxxxxxxxx> 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@xxxxxxxxxx> > > > Signed-off-by: Alexander Aring <aahringo@xxxxxxxxxx> > > > --- > > > 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