--- 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);