patch-2.0.32 linux/fs/vfat/namei.c

Next file: linux/include/asm-alpha/errno.h
Previous file: linux/fs/proc/link.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.0.31/linux/fs/vfat/namei.c linux/fs/vfat/namei.c
@@ -1439,10 +1439,13 @@
 			PRINTK(("vfat_rename 8\n"));
 			if (res < 0) goto rename_done;
 		} else {
-			PRINTK(("vfat_rename 9\n"));
-			res = vfat_unlinkx(new_dir,new_name,new_len,1);
-			PRINTK(("vfat_rename 10\n"));
-			if (res < 0) goto rename_done;
+			/* Is this the same file, different case? */
+			if (new_inode != old_inode) {
+				PRINTK(("vfat_rename 9\n"));
+				res = vfat_unlinkx(new_dir,new_name,new_len,1);
+				PRINTK(("vfat_rename 10\n"));
+				if (res < 0) goto rename_done;
+			}
 		}
 	}
 

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