Move the core functionality of fcntl_setlease() into a new function, do_setlease(). do_setlease() is same as fcntl_setlease() except that it takes an extra 'rem_lease' parameter. do_setlease() will be used in a follow-on patch to checkpoint/restart file-leases. Signed-off-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> --- fs/locks.c | 27 ++++++++++++++++----------- include/linux/fs.h | 1 + 2 files changed, 17 insertions(+), 11 deletions(-) diff --git a/fs/locks.c b/fs/locks.c index c62ab7f..4107295 100644 --- a/fs/locks.c +++ b/fs/locks.c @@ -1471,17 +1471,7 @@ int vfs_setlease(struct file *filp, long arg, struct file_lock **lease) } EXPORT_SYMBOL_GPL(vfs_setlease); -/** - * fcntl_setlease - sets a lease on an open file - * @fd: open file descriptor - * @filp: file pointer - * @arg: type of lease to obtain - * - * Call this fcntl to establish a lease on the file. - * Note that you also need to call %F_SETSIG to - * receive a signal when the lease is broken. - */ -int fcntl_setlease(unsigned int fd, struct file *filp, long arg) +int do_setlease(unsigned int fd, struct file *filp, long arg, int rem_lease) { struct file_lock fl, *flp = &fl; struct inode *inode = filp->f_path.dentry->d_inode; @@ -1515,6 +1505,21 @@ out_unlock: } /** + * fcntl_setlease - sets a lease on an open file + * @fd: open file descriptor + * @filp: file pointer + * @arg: type of lease to obtain + * + * Call this fcntl to establish a lease on the file. + * Note that you also need to call %F_SETSIG to + * receive a signal when the lease is broken. + */ +int fcntl_setlease(unsigned int fd, struct file *filp, long arg) +{ + return do_setlease(fd, filp, arg, 0); +} + +/** * flock_lock_file_wait - Apply a FLOCK-style lock to a file * @filp: The file to apply the lock to * @fl: The lock to be applied diff --git a/include/linux/fs.h b/include/linux/fs.h index 49d4eeb..700317a 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h @@ -1122,6 +1122,7 @@ extern int flock64_set(unsigned int, struct file *, unsigned int, struct flock64 *); #endif +extern int do_setlease(unsigned int fd, struct file *filp, long arg, int rem_lease); extern int fcntl_setlease(unsigned int fd, struct file *filp, long arg); extern int fcntl_getlease(struct file *filp); -- 1.6.0.4 -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html