[PATCH] SQUASHME: FIXME: pnfsd: do not expire client on cb_layout error.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This may lead to deadlocks on the nfsd state lock.
Instead, wait for the laundromat to expire the client.

TODO: Regardless, even if the callback succeeded, we need to track
a list of recalled layout and maintain it as they returned by the client
Then, scrub it in the laundromat and expire the client if it hasn't
returned all recalled layouts in a timely manner (e.g. after 2
lease periods after its last return with the respective stateid)

Signed-off-by: Benny Halevy <bhalevy@xxxxxxxxxxx>
---
 fs/nfsd/nfs4callback.c |    1 -
 1 files changed, 0 insertions(+), 1 deletions(-)

diff --git a/fs/nfsd/nfs4callback.c b/fs/nfsd/nfs4callback.c
index c5973c3..f5c24d1 100644
--- a/fs/nfsd/nfs4callback.c
+++ b/fs/nfsd/nfs4callback.c
@@ -1043,7 +1043,6 @@ static void nfsd4_cb_layout_done(struct rpc_task *task, void *calldata)
 		 * the client after at-least "lease time" .eg lease-time * 2
 		 * when failing to communicate a recall
 		 */
-		expire_client_lock(clp);
 		break;
 	case -NFS4ERR_DELAY:
 		/* Pole the client until it's done with the layout */
-- 
1.6.4.4

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


[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux