Problem with B19 (at least) thru B20.1

Juha Jäykkä Juha.Jaykka@satel.fi
Sun Jan 31 23:52:00 GMT 1999


I have a problem with directories: they both exist and don't exist at
the same time. I have the following setup:
  c:\cygnus\bash-root is mounted binary as /
  c:\home is mounted non-binary as /home
The directory c:\cygnus\bash-root contains directories bin, tmp and
home, created with NT (version4, SP3) cmd, not bash. Now /bin exists,
just like /tmp and /home. /bin contains symbolic links to
C:\cygnus\cygwin-b20\H-i586-cygwin32\bin\*, in effect giving me a fully
operational /bin without the need to refer to DOS paths in my PATH
variable.
Now, when I try to 'find /', all I get is the contents of the /bin
directory and its subdirectories, the root directory, /home and /tmp (no
subdirs since there are none). Now my problem is in the following line
from find (run from /) output:
  find: ./home/dummy: No such file or directory
Obviously this directory exists (at least in the 'NT' sense it does).
When I try to 'ls /home/dummy' I get the correct result whereas when I
try (working dir is still /) 'ls home/dummy', I get:
  ls: home/juhaj: No such file or directory.
The same behaviour occurs with mkdir: when I try to 'mkdir /home/juhaj',
I get "directory already exists" and when I try 'mkdir home/juhaj' I get
success. All this is done from the root directory. Obviously if I create
directories with mkdir, they can be seen by find
and it does not matter whether I append the first directory with a slash
or not; thus:
  bash-2.02$ mkdir tmp/foobar
  bash-2.02$ mkdir /tmp/foobar
  mkdir: cannot make directory `/tmp/foobar': File exists
Now if I reverse the process, I still get the error. I can see both
directories with find and with cmd. No problem there. Only directories
that "come from the mount" seem to be a problem. The same behaviour
occurs with all mounted directories. Always, when a directory within a
mount is not created by cygwin, it cannot be seen by find and it can be
"duplicated" by omitting the leading / from a mkdir clause.
Further, if I do 'mkdir home/foobar' the resulting directory cannot be
seen - not by find, not by ls (which thus far has been working correctly
in all cases) and not by cmd! Only rmdir seems to see it now. Note that
with /tmp, mkdir worked correctly and cmd and ls could see the directory
whether I did 'mkdir /tmp/foobar' or 'mkdir tmp/foobar'! This behaviour
occurs only with mounted directories.
Does anyone have any clue what produces this and/or how to correct it? I
would like to get personal answers (in addition to list replies) since
it's a horror to read the list postings due to the amount of traffic
there...

//juhaj, Juha Jäykkä, juhaj@iki.fi
-
For help on using this list (especially unsubscribing), send a message to
"gnu-win32-request@cygnus.com" with one line of text: "help".



More information about the Cygwin mailing list