delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/1996/12/04/23:31:28

From: wrichard AT direct DOT ca (Wade Richards)
Subject: Re: Mount point questions using bash
4 Dec 1996 23:31:28 -0800 :
Sender: daemon AT cygnus DOT com
Approved: cygnus DOT gnu-win32 AT cygnus DOT com
Distribution: cygnus
Message-ID: <1.5.4.32.19961205065217.006a3014.cygnus.gnu-win32@mail.direct.ca>
Mime-Version: 1.0
X-Sender: wrichard AT mail DOT direct DOT ca
X-Mailer: Windows Eudora Light Version 1.5.4 (32)
Original-To: "Bailey, Mark E" <mebailey AT ingr DOT com>
Original-Cc: gnu-win32 AT cygnus DOT com
Original-Sender: owner-gnu-win32 AT cygnus DOT com

At 10:39 04/12/96 -0600, you wrote:
}
}bash$ mount f:\\project /enterprise/eif/project
}You will notice that when the current directory was /enterprise/eif, the
}ls project
}command did not work correctly.  I had to cd into project in order to obtain a 
}listing of the files/directories within that sub-directory.  

It looks like you found a bug in the way cygnus.dll handles mounts.  
Basically, the way the cygwin-32 "mount" command works is that it keeps
a table of mappings (what you get from the "mount" command).  Then, when
you attempt to open a file, it checks to see if one of the mounted dirs
matches the start of the path name you specified.  If so, it simply 
substitutes the "real" NT directory name, and passes the resulting name
on to the Win32 CreateFile() call.  It seems that the code is not clever
enough to notice that your current directory, plus the relative path you
specified, matches something in the mount table.  I guess the cygnus people
will fix this eventually.

}within the bash environment.  The application is supposed to launch NT
}tools 
}(MS Office, etc.) on data residing within the /enterprise/eif directory
}tree (even if
}that data actually resides on a UNIX machine mounted to the NT machine
}where
}the application is executing).

This will work, but just barely.  

The problem:  The "mount" system is only recognised 
by cygnwin32 components (bash, ls, etc.) and NOT by any normal Win32 
applications (Office, etc.).  So you can't say "WinWord.exe
/enterprise/eif/project/foo.doc", and expect Word to find your file.  
You would have to say "WinWord.exe F:/project/foo.doc". 

The work-around: Bash will correctly set any applications' current
directory, so you can cd to the directory, then run your application.
For example: "cd /enterprise/eif/project; WinWord foo.doc"

}1) Does anyone know of any product out there that would allow me to
}mount
}   a UNIX directory structure to an existing drive/directory on an NT
}machine?  Or
}   does NT's File Manager always force a mount to a new drive letter?

I know of no way to mount into the name-space of an existing drive.  I doubt
that it is possible, because the file system handles name resolution (so you
would have to have each NT file system [fat, ntfs, hpfs, cdfs, etc.] know
about mount points).  Ages ago (DOS 3.x) it was possible to do this 
(with the "join" command), but it is no longer supported.

NT's File Manager (the application that puts up nice little windows and
icons) has nothing to do with this.  It's the device driver/filesytem
architecture.

}2) Can anyone help me solve my problem with the project directory using
}bash?

cd into the directory, then run your application.  Or, be content with lots
of drive letters.  Microsoft says drive letters are good.  Therefore drive
letters are good.  Why would you ever be interested in seeing more than 26
drives at a time?

        --- Wade
----------
Wade Richards    -= WRichard AT Direct DOT CA =- 
"Never attribute to malice what can adequately be explained by stupidity."

-
For help on using this list, send a message to
"gnu-win32-request AT cygnus DOT com" with one line of text: "help".

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019