From: SourceForge.net <no...@so...> - 2003-03-31 15:46:51
|
Bugs item #697862, was opened at 2003-03-05 09:07 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=110894&aid=697862&group_id=10894 Category: 35. File System Group: None Status: Open Resolution: Fixed Priority: 5 Submitted By: Reinhard Weltrich (weltrich) Assigned to: Vince Darley (vincentdarley) Summary: File access on mounted NTFS file systems does not work Initial Comment: If a disk partition is mounted in a NTFS directory instead of using a drive letter, Tcl 8.4.x can not access files in this directory tree (e.g. "file attr <filename>" returns "could not read <filename>: no such file or directory"). This error does not occur in Tcl 8.3! ---------------------------------------------------------------------- >Comment By: Vince Darley (vincentdarley) Date: 2003-03-31 16:00 Message: Logged In: YES user_id=32170 When you mount the partition into this directory, does the partition also appear as a new volume (under 'My Computer') as well? That's what happens for me, and if this is always true, the mount should appear just like a symlink. ...I'm trying to work out how best to fix this. ---------------------------------------------------------------------- Comment By: Vince Darley (vincentdarley) Date: 2003-03-18 10:19 Message: Logged In: YES user_id=32170 Thanks for the detailed description -- I have a fix to this now. The problem is that NTFS doesn't seem to distinguish between a 'symlink' type reparse point and a mounted-drive type reparse point. The former points to a valid directory, whereas the latter doesn't --- hence Tcl can't find the file. The solution is for Tcl to ignore the latter kind of reparse point. Unfortunately win32 doesn't seem to provide us with quite the right sort of info. I've managed to put in a check for something which works for me, but I really cannot be sure it'll work in all cases. I'll check this in soon. ---------------------------------------------------------------------- Comment By: Reinhard Weltrich (weltrich) Date: 2003-03-18 07:31 Message: Logged In: YES user_id=122896 Hello Vincent, I am sorry, I have a german version of Windows XP, therefore I don't know exactly the english name of the menu to open the computer administration. It should be something like start/program files/administration/computer administration. The windows allows administration functions for system, storage and services. Within the "storage" subfunction, the drives and the disk partitions are shown. If you point with the mouse on a partition you get on right mouse click a context menu with a menu entry which should have a name like "change drive letter or -path" (this is the word by word translation of my german name of the menu entry). If you call this entry you can assign the name of an empty directory to this partition. After that you can access the files on this partition with the relative path names on the partition prefixed with the path of the directory assigned to this partition. From TCL you cannot access the files on the partition via the path name including the mount-directory, if the mount- directory is not a direct subdirectory of the root-directory. That means, if for example c:/xyz is used as mount directory, TCL can access files with names c:/xyz/abc. If you use for example c:/tmp/xyz as mount directory TCL 8.4.x cannot access files with names c:/tmp/xyz/abc. TCL 8.3 can access these files! ---------------------------------------------------------------------- Comment By: Vince Darley (vincentdarley) Date: 2003-03-17 15:39 Message: Logged In: YES user_id=32170 Can you give the actual sequence of actions with what programs (what is the "computer administration window") to create this problem? thanks. ---------------------------------------------------------------------- Comment By: Nobody/Anonymous (nobody) Date: 2003-03-06 09:52 Message: Logged In: NO I mount the disk partition in the following way: 1. Creation of an empty directory in another directory, e.g. "mkdir c:\tmp\partition2" The problem does not occur if the mount directory is subdirectory of the root directory! 2. Assign the path c:\tmp\partition2 to a disk partition (via right mouse click on the disk partition in the computer administration window) Now it is not possible to access files in the c:\tmp\partition2 directory (which are files on the corresponding disk partition). The Tcl command "file attr c:/tmp/partition2/xyz" returns: could not read "xyz": no such file or directory ---------------------------------------------------------------------- Comment By: Jeffrey Hobbs (hobbs) Date: 2003-03-05 17:44 Message: Logged In: YES user_id=72656 I can't see how to reproduce this. Can you be more specific about exactly how you get this error? Are these //computer/drive paths, or ??? ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=110894&aid=697862&group_id=10894 |