|
@@ -1708,30 +1708,16 @@ static int __vfs_setlease(struct file *filp, long arg, struct file_lock **lease)
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * vfs_setlease - sets a lease on an open file
|
|
|
- * @filp: file pointer
|
|
|
- * @arg: type of lease to obtain
|
|
|
- * @lease: file_lock to use
|
|
|
- *
|
|
|
- * 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.
|
|
|
+ * vfs_setlease - sets a lease on an open file
|
|
|
+ * @filp: file pointer
|
|
|
+ * @arg: type of lease to obtain
|
|
|
+ * @lease: file_lock to use when adding a lease
|
|
|
+ *
|
|
|
+ * Call this to establish a lease on the file. The "lease" argument is not
|
|
|
+ * used for F_UNLCK requests and may be NULL. For commands that set or alter
|
|
|
+ * an existing lease, the (*lease)->fl_lmops->lm_break operation must be set;
|
|
|
+ * if not, this function will return -ENOLCK (and generate a scary-looking
|
|
|
+ * stack trace).
|
|
|
*/
|
|
|
|
|
|
int vfs_setlease(struct file *filp, long arg, struct file_lock **lease)
|