summaryrefslogtreecommitdiff
path: root/japanese/msdosfs/patches.4/patch-ag
blob: b39384f9b9fed0582ff9fdae6da71d4aee7a92b0 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
--- msdosfs_vnops.c.orig	Mon Apr 10 04:32:37 2000
+++ msdosfs_vnops.c	Wed Oct  4 00:13:39 2000
@@ -1108,7 +1108,6 @@
 	VOP_UNLOCK(fvp, 0, p);
 	if (VTODE(fdvp)->de_StartCluster != VTODE(tdvp)->de_StartCluster)
 		newparent = 1;
-	vrele(fdvp);
 	if (doingdirectory && newparent) {
 		if (error)	/* write access check above */
 			goto bad;
@@ -1176,7 +1175,8 @@
 		panic("msdosfs_rename: lost from startdir");
 	if (!newparent)
 		VOP_UNLOCK(tdvp, 0, p);
-	(void) relookup(fdvp, &fvp, fcnp);
+	if (relookup(fdvp, &fvp, fcnp) == 0)
+		vrele(fdvp);
 	if (fvp == NULL) {
 		/*
 		 * From name has disappeared.