SYNOPSIS
- int vfs_setlease(struct file * filp, long arg, struct file_lock ** lease);
ARGUMENTS
filp
-
- file pointer
arg
- type of lease to obtain
lease
- file_lock to use
DESCRIPTION
Call this to establish a lease on the file. The (*lease)->fl_lmops->lm_break operation must be set; if not, break_lease will oops!
This will call the filesystem's setlease file method, if defined. Note that there is no getlease method; instead, the filesystem setlease method should call back to setlease to add a lease to the inode's lease list, where fcntl_getlease can find it. Since fcntl_getlease only reports whether the current task holds a lease, a cluster filesystem need only do this for leases held by processes on this node.
There is also no break_lease method; filesystems that handle their own leases should break leases themselves from the filesystem's open, create, and (on truncate) setattr methods.
WARNING
the only current setlease methods exist only to disable leases in certain cases. More vfs changes may be required to allow a full filesystem lease implementation.
COPYRIGHT