patch-2.1.72 linux/fs/namei.c

Next file: linux/fs/nfs/dir.c
Previous file: linux/fs/lockd/svcsubs.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.1.71/linux/fs/namei.c linux/fs/namei.c
@@ -737,10 +737,9 @@
 		goto exit;
 
 	dir = lock_parent(dentry);
-
 	error = PTR_ERR(dir);
 	if (IS_ERR(dir))
-		goto exit;
+		goto exit_dput;
 
 	error = -EEXIST;
 	if (dentry->d_inode)
@@ -765,6 +764,7 @@
 
 exit_lock:
 	unlock_dir(dir);
+exit_dput:
 	dput(dentry);
 exit:
 	return error;
@@ -798,10 +798,9 @@
 		goto exit;
 
 	dir = lock_parent(dentry);
-
 	error = PTR_ERR(dir);
 	if (IS_ERR(dir))
-		goto exit;
+		goto exit_dput;
 
 	error = -ENOENT;
 	if (!dentry->d_inode)
@@ -838,6 +837,7 @@
 
 exit_lock:
         unlock_dir(dir);
+exit_dput:
 	dput(dentry);
 exit:
 	return error;
@@ -871,10 +871,9 @@
 		goto exit;
 
 	dir = lock_parent(dentry);
-
 	error = PTR_ERR(dir);
 	if (IS_ERR(dir))
-		goto exit;
+		goto exit_dput;
 
 	error = -ENOENT;
 	if (!dentry->d_inode)
@@ -911,6 +910,7 @@
 
 exit_lock:
         unlock_dir(dir);
+exit_dput:
 	dput(dentry);
 exit:
 	return error;
@@ -945,10 +945,9 @@
 		goto exit;
 
 	dir = lock_parent(dentry);
-
 	error = PTR_ERR(dir);
 	if (IS_ERR(dir))
-		goto exit;
+		goto exit_dput;
 
 	error = -EEXIST;
 	if (dentry->d_inode)
@@ -972,6 +971,7 @@
 
 exit_lock:
 	unlock_dir(dir);
+exit_dput:
 	dput(dentry);
 exit:
 	return error;
@@ -1016,10 +1016,9 @@
 		goto exit_old;
 
 	dir = lock_parent(new_dentry);
-
 	error = PTR_ERR(dir);
 	if (IS_ERR(dir))
-		goto exit;
+		goto exit_new;
 
 	error = -ENOENT;
 	inode = old_dentry->d_inode;
@@ -1059,6 +1058,7 @@
 
 exit_lock:
 	unlock_dir(dir);
+exit_new:
 	dput(new_dentry);
 exit_old:
 	dput(old_dentry);

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov