[pnfs] [PATCH 3/3] pnfs client free layout even if get error from server
andros at umich.edu
andros at umich.edu
Tue Sep 18 13:21:51 EDT 2007
From: Andy Adamson <andros at umich.edu>
Signed-off by: Marc Eshel<eshel at umich.edu>
---
fs/nfs/pnfs.c | 12 +++++++++---
1 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/fs/nfs/pnfs.c b/fs/nfs/pnfs.c
index d7154b2..2b01c03 100644
--- a/fs/nfs/pnfs.c
+++ b/fs/nfs/pnfs.c
@@ -373,11 +373,17 @@ pnfs_return_layout(struct inode* ino, struct nfs4_pnfs_layout_segment *range)
status = pnfs_return_layout_rpc(server, &arg);
- if (!status && nfsi->current_layout) {
- dprintk ("%s: removing layout\n", __FUNCTION__);
+ if (nfsi->current_layout) {
+ if (status)
+ dprintk ("%s: pnfs_return_layout_rpc status=%d. "
+ "removing layout anyway\n", __FUNCTION__,
+ status);
+ else
+ dprintk ("%s: removing layout\n", __FUNCTION__);
+
server->pnfs_curr_ld->ld_io_ops->free_layout(&nfsi->current_layout, ino, &arg.lseg);
- }
+ }
dprintk("%s:Exit status %d\n", __FUNCTION__, status);
return status;
}
--
1.5.0.2
More information about the pNFS
mailing list