Jeff, this table of locking rules seems out of date since 6109c85037e5 "locks: add a dedicated spinlock to protect i_flctx lists". Are any of those callbacks still called with the i_lock? Should that column be labeled "flc_lock" instead? Or is that even still useful information? --b. On Wed, Feb 09, 2022 at 08:52:07PM -0800, Dai Ngo wrote: > diff --git a/Documentation/filesystems/locking.rst b/Documentation/filesystems/locking.rst > index d36fe79167b3..57ce0fbc8ab1 100644 > --- a/Documentation/filesystems/locking.rst > +++ b/Documentation/filesystems/locking.rst > @@ -439,6 +439,7 @@ prototypes:: > void (*lm_break)(struct file_lock *); /* break_lease callback */ > int (*lm_change)(struct file_lock **, int); > bool (*lm_breaker_owns_lease)(struct file_lock *); > + bool (*lm_lock_conflict)(struct file_lock *); > > locking rules: > > @@ -450,6 +451,7 @@ lm_grant: no no no > lm_break: yes no no > lm_change yes no no > lm_breaker_owns_lease: no no no > +lm_lock_conflict: no no no > ====================== ============= ================= =========