1. NAME▲
vfs_setlease - sets a lease on an open file
2. SYNOPSIS ▲
int vfs_setlease(struct file * filp , long arg , struct file_lock ** lease );
3. ARGUMENTS ▲
filp
file pointer
arg
type of lease to obtain
lease
file_lock to use
4. 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 filesystemAqs 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 inodeAqs 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 filesystemAqs open, create, and (on truncate) setattr methods.
5. 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.
6. COPYRIGHT ▲