On Wed, Oct 11, 2017 at 6:21 PM, Al Viro <viro@xxxxxxxxxxxxxxxxxx> wrote: > On Wed, Oct 11, 2017 at 05:47:18PM -0700, Dan Williams wrote: >> The MAP_DIRECT mechanism for mmap intends to use a file lease to prevent >> block map changes while the file is mapped. It requires the fd to setup >> an fasync_struct for signalling lease break events to the lease holder. > > *UGH* > > That looks like one hell of a bad API. You are not even guaranteed that > descriptor will remain be still open by the time you pass it down to your > helper, nevermind the moment when event actually happens... What am I missing, fcntl(F_SETLEASE) seems to follow a similar pattern?