From 26c78e156b1d1b2387ec33b5f2fb62d6e0a186a3 Mon Sep 17 00:00:00 2001
From: Trond Myklebust <Trond.Myklebust@netapp.com>
Date: Tue, 3 Jan 2006 09:55:58 +0100
Subject: NFSv4: Fix an Oops in nfs_do_expire_all_delegations

 If the loop errors, we need to exit.

 Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
---
 fs/nfs/delegation.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

(limited to 'fs')

diff --git a/fs/nfs/delegation.c b/fs/nfs/delegation.c
index 66cc720..c6f07c1 100644
--- a/fs/nfs/delegation.c
+++ b/fs/nfs/delegation.c
@@ -236,7 +236,6 @@ int nfs_do_expire_all_delegations(void *ptr)
 	struct nfs4_client *clp = ptr;
 	struct nfs_delegation *delegation;
 	struct inode *inode;
-	int err = 0;
 
 	allow_signal(SIGKILL);
 restart:
@@ -250,10 +249,9 @@ restart:
 		if (inode == NULL)
 			continue;
 		spin_unlock(&clp->cl_lock);
-		err = nfs_inode_return_delegation(inode);
+		nfs_inode_return_delegation(inode);
 		iput(inode);
-		if (!err)
-			goto restart;
+		goto restart;
 	}
 out:
 	spin_unlock(&clp->cl_lock);
-- 
cgit v1.1