diff mbox

[v2] NFSd: simplify locking in nfsd_recall_delegations()

Message ID 20120703130215.4035.8190.stgit@localhost.localdomain (mailing list archive)
State New, archived
Headers show

Commit Message

Stanislav Kinsbursky July 3, 2012, 1:02 p.m. UTC
v2: rebased on 3.5-rc3 kernel

Holding of client_mutex looks redundant here - recall_lock looks enough.

Signed-off-by: Stanislav Kinsbursky <skinsbursky@parallels.com>
---
 fs/nfsd/nfs4state.c |    2 --
 1 files changed, 0 insertions(+), 2 deletions(-)


--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Comments

J. Bruce Fields July 18, 2012, 11:27 p.m. UTC | #1
On Tue, Jul 03, 2012 at 05:02:24PM +0400, Stanislav Kinsbursky wrote:
> v2: rebased on 3.5-rc3 kernel
> 
> Holding of client_mutex looks redundant here - recall_lock looks enough.

Yep, thanks.--b.

> 
> Signed-off-by: Stanislav Kinsbursky <skinsbursky@parallels.com>
> ---
>  fs/nfsd/nfs4state.c |    2 --
>  1 files changed, 0 insertions(+), 2 deletions(-)
> 
> diff --git a/fs/nfsd/nfs4state.c b/fs/nfsd/nfs4state.c
> index 33eccee..480ecc9 100644
> --- a/fs/nfsd/nfs4state.c
> +++ b/fs/nfsd/nfs4state.c
> @@ -4622,7 +4622,6 @@ void nfsd_recall_delegations(u64 num)
>  	LIST_HEAD(victims);
>  	struct nfs4_delegation *dp, *dnext;
>  
> -	nfs4_lock_state();
>  	spin_lock(&recall_lock);
>  	count = nfsd_process_n_delegations(num, &victims);
>  	list_for_each_entry_safe(dp, dnext, &victims, dl_recall_lru) {
> @@ -4630,7 +4629,6 @@ void nfsd_recall_delegations(u64 num)
>  		nfsd_break_one_deleg(dp);
>  	}
>  	spin_unlock(&recall_lock);
> -	nfs4_unlock_state();
>  
>  	printk(KERN_INFO "NFSD: Recalled %d delegations", count);
>  }
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/fs/nfsd/nfs4state.c b/fs/nfsd/nfs4state.c
index 33eccee..480ecc9 100644
--- a/fs/nfsd/nfs4state.c
+++ b/fs/nfsd/nfs4state.c
@@ -4622,7 +4622,6 @@  void nfsd_recall_delegations(u64 num)
 	LIST_HEAD(victims);
 	struct nfs4_delegation *dp, *dnext;
 
-	nfs4_lock_state();
 	spin_lock(&recall_lock);
 	count = nfsd_process_n_delegations(num, &victims);
 	list_for_each_entry_safe(dp, dnext, &victims, dl_recall_lru) {
@@ -4630,7 +4629,6 @@  void nfsd_recall_delegations(u64 num)
 		nfsd_break_one_deleg(dp);
 	}
 	spin_unlock(&recall_lock);
-	nfs4_unlock_state();
 
 	printk(KERN_INFO "NFSD: Recalled %d delegations", count);
 }