]> git.ipfire.org Git - thirdparty/linux.git/commit - fs/locks.c
fs: add FL_LAYOUT lease type
authorChristoph Hellwig <hch@lst.de>
Wed, 21 Jan 2015 18:17:03 +0000 (19:17 +0100)
committerChristoph Hellwig <hch@lst.de>
Mon, 2 Feb 2015 17:09:38 +0000 (18:09 +0100)
commit11afe9f76e121e960445deee5b7f26f0787a1990
tree512e3b9dd23b394b826a18eca3947df9487c28bc
parent2ab99ee12440e66ec1efd2a98599010471de785e
fs: add FL_LAYOUT lease type

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@lst.de>
fs/locks.c
include/linux/fs.h