Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:computertreker
vfh-kernel-test
0007-Added-error-handling-for-NFS4ERR_FHEXPIRED...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 0007-Added-error-handling-for-NFS4ERR_FHEXPIRED.patch of Package vfh-kernel-test
From 221b8d9705b6fa7d13e56aa9e71cc369c45ac19e Mon Sep 17 00:00:00 2001 From: Matthew Treinish <treinish@linux.vnet.ibm.com> Date: Fri, 4 Nov 2011 10:25:26 -0400 Subject: [PATCH/RFC 7/7] Added error handling for NFS4ERR_FHEXPIRED Added checks in the nfs4_handle_exception for FHEXPIRED. If FHEXPIRED is received from the server and the appropriate attributes are enabled then the client calls nfs4_fhexpired_recovery() to perform the lookup operation to try and recovery the expired vfh. If the mount option is not enabled or the server FH_EXPIRE_TYPE doesn't have VOLATILE_ANY then client will convert the FHEXPIRED error into ESTALE since recovery isn't possible. Signed-off-by: Matthew Treinish <treinish@linux.vnet.ibm.com> --- fs/nfs/nfs4proc.c | 10 ++++++++++ 1 files changed, 10 insertions(+), 0 deletions(-) diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c index ebc5ee9..8ae5c49 100644 --- a/fs/nfs/nfs4proc.c +++ b/fs/nfs/nfs4proc.c @@ -277,6 +277,16 @@ static int nfs4_handle_exception(struct nfs_server *server, int errorcode, struc case -NFS4ERR_STALE_CLIENTID: nfs4_schedule_lease_recovery(clp); goto wait_on_recovery; + case -NFS4ERR_FHEXPIRED: + if (server->flags & NFS_MOUNT_VFHRETRY) + if (server->fhexpiretype & NFS4_FH_VOLATILE_ANY) { + ret = nfs4_fhexpired_recovery(server, exception); + if (!ret) + ret = -EAGAIN; + break; + } + ret = -ESTALE; + break; #if defined(CONFIG_NFS_V4_1) case -NFS4ERR_BADSESSION: case -NFS4ERR_BADSLOT: -- 1.7.4.4
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor