On Wed, 17 Jan 2024, Jeff Layton wrote: > Add a new struct file_lease and move the lease-specific fields from > struct file_lock to it. Convert the appropriate API calls to take > struct file_lease instead, and convert the callers to use them. I think that splitting of struct lease_manager_operations out from lock_manager_operations should be mentioned here too. > > +struct file_lease { > + struct file_lock_core fl_core; > + struct fasync_struct * fl_fasync; /* for lease break notifications */ > + /* for lease breaks: */ > + unsigned long fl_break_time; > + unsigned long fl_downgrade_time; > + const struct lease_manager_operations *fl_lmops; /* Callbacks for lockmanagers */ comment should be "Callbacks for leasemanagers". Or maybe "lease managers". It is unfortunate that "lock" and "lease" both start with 'l' as we now have two quite different fields in different structures with the same name - fl_lmops. NeilBrown