changeset 13909:2409cc2baf1a

nfs4[1]: OP_SAVEFH properly update saved fh from current fh
author Dan Kruchinin <dan.kruchinin@nexenta.com>
date Thu, 18 Aug 2011 00:55:35 +0300
parents bbb5a8c3ecb4
children 6472230c4878
files usr/src/uts/common/fs/nfs/nfs41_srv.c usr/src/uts/common/fs/nfs/nfs4_srv.c
diffstat 2 files changed, 4 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/usr/src/uts/common/fs/nfs/nfs41_srv.c	Thu Aug 18 00:54:52 2011 +0300
+++ b/usr/src/uts/common/fs/nfs/nfs41_srv.c	Thu Aug 18 00:55:35 2011 +0300
@@ -3887,9 +3887,8 @@
 		*cs->statusp = resp->status = NFS4ERR_NOFILEHANDLE;
 		goto final;
 	}
-	if (cs->saved_vp != NULL) {
-		VN_RELE(cs->saved_vp);
-	}
+
+	rfs4_cs_invalidate_savedfh(cs);
 	cs->saved_vp = cs->vp;
 	VN_HOLD(cs->saved_vp);
 	cs->saved_exi = cs->exi;
--- a/usr/src/uts/common/fs/nfs/nfs4_srv.c	Thu Aug 18 00:54:52 2011 +0300
+++ b/usr/src/uts/common/fs/nfs/nfs4_srv.c	Thu Aug 18 00:55:35 2011 +0300
@@ -4586,9 +4586,8 @@
 		*cs->statusp = resp->status = NFS4ERR_NOFILEHANDLE;
 		goto out;
 	}
-	if (cs->saved_vp != NULL) {
-		VN_RELE(cs->saved_vp);
-	}
+
+	rfs4_cs_invalidate_savedfh(cs);
 	cs->saved_vp = cs->vp;
 	VN_HOLD(cs->saved_vp);
 	cs->saved_exi = cs->exi;