PERFORCE change 123966 for review

Roman Divacky rdivacky at FreeBSD.org
Mon Jul 23 14:56:48 UTC 2007


http://perforce.freebsd.org/chv.cgi?CH=123966

Change 123966 by rdivacky at rdivacky_witten on 2007/07/23 14:56:03

	Merge ndp and ndl into one nd as in original code.
	
	Suggested by: kib

Affected files ...

.. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/vfs_syscalls.c#48 edit

Differences ...

==== //depot/projects/soc2007/rdivacky/linux_at/sys/kern/vfs_syscalls.c#48 (text+ko) ====

@@ -1588,7 +1588,7 @@
 kern_linkat(struct thread *td, int fd1, int fd2, const char *path1, const char *path2,
     enum uio_seg segflg, int follow)
 {
-	struct nameidata ndp, ndl;
+	struct nameidata nd;
 	struct vnode *pdvp = NULL, *ldvp = NULL;
 	struct vnode *vp;
 	struct mount *mp;
@@ -1600,7 +1600,7 @@
 	if (error && !kern_absolute_path(path1, segflg))
 		return (error);
 
-	NDINIT_AT(&ndp, LOOKUP, ((error) ? ATBADF : 0) | follow | MPSAFE |
+	NDINIT_AT(&nd, LOOKUP, ((error) ? ATBADF : 0) | follow | MPSAFE |
 	    AUDITVNODE1, segflg, path1, td, pdvp);
 
 	error = kern_get_at(td, fd2, &ldvp);
@@ -1613,15 +1613,15 @@
 		return (error);
 	}
 
-	NDINIT_AT(&ndl, CREATE, ((error) ? ATBADF : 0) | LOCKPARENT |
+	NDINIT_AT(&nd, CREATE, ((error) ? ATBADF : 0) | LOCKPARENT |
 	    SAVENAME | MPSAFE | AUDITVNODE1, segflg, path2, td, ldvp);
 
 	bwillwrite();
-	if ((error = namei(&ndp)) != 0)
+	if ((error = namei(&nd)) != 0)
 		goto out;
-	vfslocked = NDHASGIANT(&ndp);
-	NDFREE(&ndp, NDF_ONLY_PNBUF);
-	vp = ndp.ni_vp;
+	vfslocked = NDHASGIANT(&nd);
+	NDFREE(&nd, NDF_ONLY_PNBUF);
+	vp = nd.ni_vp;
 	if (vp->v_type == VDIR) {
 		vrele(vp);
 		VFS_UNLOCK_GIANT(vfslocked);
@@ -1633,31 +1633,31 @@
 		VFS_UNLOCK_GIANT(vfslocked);
 		goto out;
 	}
-	if ((error = namei(&ndl)) == 0) {
-		lvfslocked = NDHASGIANT(&ndl);
-		if (ndl.ni_vp != NULL) {
-			if (ndl.ni_dvp == ndl.ni_vp)
-				vrele(ndl.ni_dvp);
+	if ((error = namei(&nd)) == 0) {
+		lvfslocked = NDHASGIANT(&nd);
+		if (nd.ni_vp != NULL) {
+			if (nd.ni_dvp == nd.ni_vp)
+				vrele(nd.ni_dvp);
 			else
-				vput(ndl.ni_dvp);
-			vrele(ndl.ni_vp);
+				vput(nd.ni_dvp);
+			vrele(nd.ni_vp);
 			error = EEXIST;
 		} else if ((error = vn_lock(vp, LK_EXCLUSIVE | LK_RETRY, td))
 		    == 0) {
-			VOP_LEASE(ndl.ni_dvp, td, td->td_ucred, LEASE_WRITE);
+			VOP_LEASE(nd.ni_dvp, td, td->td_ucred, LEASE_WRITE);
 			VOP_LEASE(vp, td, td->td_ucred, LEASE_WRITE);
 			error = can_hardlink(vp, td, td->td_ucred);
 			if (error == 0)
 #ifdef MAC
 				error = mac_check_vnode_link(td->td_ucred,
-				    ndl.ni_dvp, vp, &ndl.ni_cnd);
+				    nd.ni_dvp, vp, &nd.ni_cnd);
 			if (error == 0)
 #endif
-				error = VOP_LINK(ndl.ni_dvp, vp, &ndl.ni_cnd);
+				error = VOP_LINK(nd.ni_dvp, vp, &nd.ni_cnd);
 			VOP_UNLOCK(vp, 0, td);
-			vput(ndl.ni_dvp);
+			vput(nd.ni_dvp);
 		}
-		NDFREE(&ndl, NDF_ONLY_PNBUF);
+		NDFREE(&nd, NDF_ONLY_PNBUF);
 		VFS_UNLOCK_GIANT(lvfslocked);
 	}
 	vrele(vp);


More information about the p4-projects mailing list