On Wed, Oct 11, 2017 at 6:28 PM, Dan Williams <dan.j.williams(a)intel.com> wrote:
On Wed, Oct 11, 2017 at 6:21 PM, Al Viro
> 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.
> 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?
Ugh, so I think the difference with F_SETLEASE is that the lease ends
when the fd is closed. In the mmap case the lease follows the lifetime
of the vma. I'll rethink this interface...