On Thu, 22 Jan 2015 12:09:49 +0100
Christoph Hellwig <hch@xxxxxx> wrote:
> This (ab-)uses the file locking code to allow filesystems to recall
> outstanding pNFS layouts on a file. This new lease type is similar but
> not quite the same as FL_DELEG. A FL_LAYOUT lease can always be granted,
> an a per-filesystem lock (XFS iolock for the initial implementation)
> ensures not FL_LAYOUT leases granted when we would need to recall them.
> Also included are changes that allow multiple outstanding read
> leases of different types on the same file as long as they have a
> differnt owner. This wasn't a problem until now as nfsd never set
> FL_LEASE leases, and no one else used FL_DELEG leases, but given that
> nfsd will also issues FL_LAYOUT leases we will have to handle it now.
> Signed-off-by: Christoph Hellwig <hch@xxxxxx>
> fs/locks.c | 14 ++++++++++----
> include/linux/fs.h | 16 ++++++++++++++++
> 2 files changed, 26 insertions(+), 4 deletions(-)
Abuse indeed. :)
I'd probably prefer to move this to a separate list within the i_flctx
instead of overloading the lease stuff, but I'm not religious about it.
I can live with this for now, and if and when we get around to
representing different types of file locks with different types of
structures, we can do that conversion then.
Acked-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx>