patch-2.3.99-pre4 linux/fs/umsdos/dir.c

Next file: linux/include/asm-alpha/namei.h
Previous file: linux/fs/ufs/symlink.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.3.99-pre3/linux/fs/umsdos/dir.c linux/fs/umsdos/dir.c
@@ -651,9 +651,7 @@
 	struct dentry * old_root = current->fs->root;
 	char * path;
 
-	/* N.B. not safe -- fix this soon! */
-	current->fs->root = dentry->d_sb->s_root;
-	path = d_path(dentry, buffer, len);
+	path = __d_path(dentry, NULL, dentry->d_sb->s_root, NULL, buffer, len);
 
 	if (*path == '/')
 		path++; /* skip leading '/' */
@@ -665,7 +663,6 @@
 		memcpy(path, UMSDOS_PSDROOT_NAME, UMSDOS_PSDROOT_LEN);
 	}
 
-	current->fs->root = old_root;
 	return path;
 }
 

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)