usr/src/uts/common/fs/nfs/nfs4_srv.c
changeset 1146 c3555cdf52c2
parent 602 4ef537c7acd0
child 1676 37f4a3e2bd99
--- a/usr/src/uts/common/fs/nfs/nfs4_srv.c	Mon Dec 19 10:24:57 2005 -0800
+++ b/usr/src/uts/common/fs/nfs/nfs4_srv.c	Mon Dec 19 12:21:33 2005 -0800
@@ -3993,6 +3993,18 @@
 			VN_RELE(tvp);
 		}
 	}
+	if (error == 0) {
+		char *tmp;
+
+		/* fix the path name for the renamed file */
+		mutex_enter(&srcvp->v_lock);
+		tmp = srcvp->v_path;
+		srcvp->v_path = NULL;
+		mutex_exit(&srcvp->v_lock);
+		vn_setpath(rootdir, ndvp, srcvp, nnm, nlen - 1);
+		if (tmp != NULL)
+			kmem_free(tmp, strlen(tmp) + 1);
+	}
 
 	if (in_crit_src)
 		nbl_end_crit(srcvp);