From mboxrd@z Thu Jan 1 00:00:00 1970 From: "William A.(Andy) Adamson" Subject: PATCH [2/10] lease interfaces for version 4 NFSD Date: Mon, 20 Sep 2004 16:22:32 -0400 Sender: linux-fsdevel-owner@vger.kernel.org Message-ID: <20040920202232.1334C1BBA4@citi.umich.edu> Mime-Version: 1.0 Content-Type: multipart/mixed ; boundary="==_Exmh_-4962839280" Cc: andros@citi.umich.edu Return-path: Received: from citi.umich.edu ([141.211.133.111]:62490 "EHLO citi.umich.edu") by vger.kernel.org with ESMTP id S267304AbUITUWf (ORCPT ); Mon, 20 Sep 2004 16:22:35 -0400 To: linux-fsdevel@vger.kernel.org List-Id: linux-fsdevel.vger.kernel.org This is a multipart MIME message. --==_Exmh_-4962839280 Content-Type: text/plain; charset=us-ascii VFS: add a lock manager release private callback to locks_free_lock() for lock manager lease clean-up Signed-off-by: Andy Adamson --==_Exmh_-4962839280 Content-Type: text/plain ; name="linux-2.6.9-rc2-02-lmops-release-priv.dif"; charset=us-ascii Content-Description: linux-2.6.9-rc2-02-lmops-release-priv.dif Content-Disposition: attachment; filename="linux-2.6.9-rc2-02-lmops-release-priv.dif" diff --recursive -puN old/fs/locks.c new/fs/locks.c --- old/fs/locks.c 2004-09-20 12:57:50.911796000 -0400 +++ new/fs/locks.c 2004-09-20 13:02:25.528046000 -0400 @@ -172,7 +172,11 @@ static inline void locks_free_lock(struc fl->fl_ops->fl_release_private(fl); fl->fl_ops = NULL; } - fl->fl_lmops = NULL; + if (fl->fl_lmops) { + if (fl->fl_lmops->fl_release_private) + fl->fl_lmops->fl_release_private(fl); + fl->fl_lmops = NULL; + } kmem_cache_free(filelock_cache, fl); } diff --recursive -puN old/include/linux/fs.h new/include/linux/fs.h --- old/include/linux/fs.h 2004-09-20 12:58:13.891126000 -0400 +++ new/include/linux/fs.h 2004-09-20 13:03:12.621416000 -0400 @@ -634,6 +634,7 @@ struct lock_manager_operations { int (*fl_compare_owner)(struct file_lock *, struct file_lock *); void (*fl_notify)(struct file_lock *); /* unblock callback */ void (*fl_copy_lock)(struct file_lock *, struct file_lock *); + void (*fl_release_private)(struct file_lock *); }; /* that will die - we need it for nfs_lock_info */ --==_Exmh_-4962839280--