From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andy Adamson Subject: [PATCH 4 of 10] RESEND lease interfaces for version 4 NFSD Date: Tue, 21 Sep 2004 18:35:55 -0400 Sender: linux-fsdevel-owner@vger.kernel.org Message-ID: <1095804047.21441d5b.4@citi.umich.edu> Cc: nfsv4@linux-nfs.org, willy@debian.org Return-path: Received: from thnk.citi.umich.edu ([141.211.133.95]:16517 "EHLO thnk.citi.umich.edu") by vger.kernel.org with ESMTP id S266704AbUIUWg1 (ORCPT ); Tue, 21 Sep 2004 18:36:27 -0400 To: linux-fsdevel@vger.kernel.org List-Id: linux-fsdevel.vger.kernel.org VFS: Seperate the lease initialization code from lease_alloc(). set the default lock manager ops. Signed-off-by: Andy Adamson --- linux-2.6.9-rc2-andros/fs/locks.c | 28 ++++++++++++++++++++-------- 1 files changed, 20 insertions(+), 8 deletions(-) diff -puN fs/locks.c~lease-init fs/locks.c --- linux-2.6.9-rc2/fs/locks.c~lease-init 2004-09-21 18:00:26.350961224 -0400 +++ linux-2.6.9-rc2-andros/fs/locks.c 2004-09-21 18:00:26.354960616 -0400 @@ -400,13 +400,11 @@ struct lock_manager_operations lease_man .fl_break = lease_break_callback, }; -/* Allocate a file_lock initialised to this type of lease */ -static int lease_alloc(struct file *filp, int type, struct file_lock **flp) -{ - struct file_lock *fl = locks_alloc_lock(); - if (fl == NULL) - return -ENOMEM; - +/* + * Initialize a lease, use the default lock manager operations + */ +static int lease_init(struct file *filp, int type, struct file_lock *fl) + { fl->fl_owner = current->files; fl->fl_pid = current->tgid; @@ -419,8 +417,22 @@ static int lease_alloc(struct file *filp fl->fl_start = 0; fl->fl_end = OFFSET_MAX; fl->fl_ops = NULL; - fl->fl_lmops = NULL; + fl->fl_lmops = &lease_manager_ops; + return 0; +} +/* Allocate a file_lock initialised to this type of lease */ +static int lease_alloc(struct file *filp, int type, struct file_lock **flp) +{ + struct file_lock *fl = locks_alloc_lock(); + int error; + + if (fl == NULL) + return -ENOMEM; + + error = lease_init(filp, type, fl); + if (error) + return error; *flp = fl; return 0; } _