From mboxrd@z Thu Jan 1 00:00:00 1970 From: "William A.(Andy) Adamson" Subject: PATCH [4/10] lease interfaces for version 4 NFSD Date: Mon, 20 Sep 2004 16:22:39 -0400 Sender: linux-fsdevel-owner@vger.kernel.org Message-ID: <20040920202239.6D7C41BBA3@citi.umich.edu> Mime-Version: 1.0 Content-Type: multipart/mixed ; boundary="==_Exmh_-2674203840" Cc: andros@citi.umich.edu Return-path: Received: from citi.umich.edu ([141.211.133.111]:15467 "EHLO citi.umich.edu") by vger.kernel.org with ESMTP id S267310AbUITUWn (ORCPT ); Mon, 20 Sep 2004 16:22:43 -0400 To: linux-fsdevel@vger.kernel.org List-Id: linux-fsdevel.vger.kernel.org This is a multipart MIME message. --==_Exmh_-2674203840 Content-Type: text/plain; charset=us-ascii VFS: seperate the lease initialization code from lease_alloc. set the default lock manager ops. Signed-off-by: Andy Adamson --==_Exmh_-2674203840 Content-Type: text/plain ; name="linux-2.6.9-rc2-04-lease-init.dif"; charset=us-ascii Content-Description: linux-2.6.9-rc2-04-lease-init.dif Content-Disposition: attachment; filename="linux-2.6.9-rc2-04-lease-init.dif" diff --recursive -puN old/fs/locks.c new/fs/locks.c --- old/fs/locks.c 2004-09-20 15:40:07.512097000 -0400 +++ new/fs/locks.c 2004-09-20 15:57:19.435106000 -0400 @@ -399,13 +399,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) +/* + * Initialize a lease, use the default lock manager operations + */ +static int lease_init(struct file *filp, int type, struct file_lock *fl) { - struct file_lock *fl = locks_alloc_lock(); - if (fl == NULL) - return -ENOMEM; - fl->fl_owner = current->files; fl->fl_pid = current->tgid; @@ -418,8 +416,18 @@ 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(); + if (fl == NULL) + return -ENOMEM; + if ((error = lease_init(filp, type, fl))) + return error; *flp = fl; return 0; } --==_Exmh_-2674203840--