/* 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.  */
int vfs_setlease(struct file *filp, long arg, struct file_lock **lease)
/* 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.  */
int vfs_setlease(struct file *filp, long arg, struct file_lock **lease)
{
	int error;
	lock_kernel();
	if (filp->f_op && filp->f_op->setlease)
		error = filp->f_op->setlease(filp, arg, lease);
	else
		error = generic_setlease(filp, arg, lease);
	unlock_kernel();
	return error;
}