From a2966cc6149ddad18fb77c6ecc4116583abd1e72 Mon Sep 17 00:00:00 2001
From: Pekka Enberg <penberg@cloudius-systems.com>
Date: Wed, 25 Sep 2013 11:29:39 +0300
Subject: [PATCH] vfs: Call parent directory dentry 'newdirdp' in sys_link()

Call the dentry that refers to the newpath parent directory "newdirdp"
to make the code more explicit.

Signed-off-by: Pekka Enberg <penberg@cloudius-systems.com>
---
 fs/vfs/vfs_syscalls.c | 22 +++++++++++-----------
 1 file changed, 11 insertions(+), 11 deletions(-)

diff --git a/fs/vfs/vfs_syscalls.c b/fs/vfs/vfs_syscalls.c
index 824ba6541..ca7ea665c 100644
--- a/fs/vfs/vfs_syscalls.c
+++ b/fs/vfs/vfs_syscalls.c
@@ -680,9 +680,9 @@ sys_rename(char *src, char *dest)
 int
 sys_link(char *oldpath, char *newpath)
 {
-	char *name;
-	struct dentry *olddp, *newdp, *ddp;
+	struct dentry *olddp, *newdp, *newdirdp;
 	struct vnode *vp;
+	char *name;
 	int error;
 
 	DPRINTF(VFSDB_SYSCALL, ("sys_link: oldpath=%s newpath=%s\n",
@@ -708,19 +708,19 @@ sys_link(char *oldpath, char *newpath)
 	}
 
 	/* Get pointer to the parent dentry of newpath */
-	if ((error = lookup(newpath, &ddp, &name)) != 0)
+	if ((error = lookup(newpath, &newdirdp, &name)) != 0)
 		goto out;
 
-	vn_lock(ddp->d_vnode);
+	vn_lock(newdirdp->d_vnode);
 
 	/* Both files must reside on the same mounted file system */
-	if (olddp->d_mount != ddp->d_mount) {
+	if (olddp->d_mount != newdirdp->d_mount) {
 		error = EXDEV;
 		goto out1;
 	}
 
 	/* Write access to the dir containing newpath is required */
-	if ((error = vn_access(ddp->d_vnode, VWRITE)) != 0)
+	if ((error = vn_access(newdirdp->d_vnode, VWRITE)) != 0)
 		goto out1;
 
 	/* Map newpath into dentry hash with the same vnode as oldpath */
@@ -729,20 +729,20 @@ sys_link(char *oldpath, char *newpath)
 		goto out1;
 	}
 
-	if ((error = VOP_LINK(ddp->d_vnode, vp, name)) != 0) {
+	if ((error = VOP_LINK(newdirdp->d_vnode, vp, name)) != 0) {
 		drele(newdp);
 		goto out1;
 	}
 
-	vn_unlock(ddp->d_vnode);
-	drele(ddp);
+	vn_unlock(newdirdp->d_vnode);
+	drele(newdirdp);
 
 	vn_unlock(vp);
 	drele(olddp);
 	return 0;
  out1:
-	vn_unlock(ddp->d_vnode);
-	drele(ddp);
+	vn_unlock(newdirdp->d_vnode);
+	drele(newdirdp);
  out:
 	vn_unlock(vp);
 	drele(olddp);
-- 
GitLab