This is the mail archive of the cygwin@sources.redhat.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: 1.1.7:mount and ls problem


L Anderson wrote:
> 
> Hi Earnie,
> 
> Thanks for your reply.  I have commented below:
> 
> Earnie Boyd wrote:
> >
> > L Anderson wrote:
> >
> > > Hi,
> > >
> > > Being new to Cygwin, I searched the faq and mail archives but could find
> > > no answer to my question.  An answer would be appreciated.
> > >
> > > I'm running Win98 and Cygwin 1.1.7.
> > >
> > > I have drives ... e:, f:, g: ... on win98.  I installed cygwin on g:.  I
> > > fire up cygwin and do:
> > >         cd /
> > >         mkdir e
> > >         mount e: /e
> > > All is well -- e shows up in both an ls ( as e) and mount (as e:  /e).
> > >
> > > Now I do:
> > >         mount f: /f
> > > I get the error:
> > >         mount: warning - /f does not exist
> > > but mount shows
> > >         f:   f/ . . .
> > > and ls doesn't show f.
> >
> > Note: it says warning, it doesn't say error.  The non-list would be the
> > reason for the warning.  IMO, it's probably time to make it an error.
> >
> 
> Ah! Since it says "warning", the "principle of least astonishment"
> should not have been violated and therefore, the software should have
> acted consistent with my first example, i.e., have done a "mkdir f"
> before doing the "mount f: f/"?
> 
> At this point, I don't know what you mean by "non-list", so I can't
> comment.
> 

I was in reference to your complaint that `ls' doesn't show it.

> Based on the "side effects" of the command sequence, I agree. The
> software should have "done it right" or only issued an error message
> that said, effectively, "Hey dude, create the damn directory before you
> do a mount!  Don't leave it up to me!" :-)
> 
> > >
> > >
> > > If I do an ls f, all the files under f:'s root are listed.
> >
> > >
> > > If I do mkdir f, I get:
> > >         mkdir: cannot make directory `f': File exists
> > >
> >
> > Yes, another reason for the warning.  You can either umount /f and then do
> > the  mkdir /f and mount f:/ /f or you can mkdir /cygdrive/c/cygwin/f
> > assuming / is pointed at c:/cygwin
> >
> 
> I figured this out but it still doesn't answer why the directory for f
> (mount point) looks like any other directory but doesn't show up in an
> "ls" in the root?
> 
> > >
> > > So where is f hiding except in the mount table?
> > >
> >
> > The mount table, in the windows registry.
> >
> 
> This confirms what I expected but why doesn't "f" show up in an "ls" in
> the root (/)?
> 

Uh, ls doesn't show it because ls is displaying the contents of the disk
and it doesn't reside on the disk.

> > >
> > > Why does f seem to work like any other directory (I can cd to it or its
> > > subdirs and ls their contents) but not show up in an ls at the root?
> > >
> > > Is this a bug or a feature?
> > >
> >
> > It's a feature with old history.
> >
> 
> Sounds like the code needs a good "slap side da head"!  Unfortunately,
> I'm not there yet.  Is it a problem with "mount", "ls", "cygwinxxx.dll",
> or ...?
> 

Yep.  It would be mount.  See src/winsup/utils/mount.cc

> Thanks for your help!
> 

You're welcome,
Earnie

> Lowell Anderson
>

_________________________________________________________
Do You Yahoo!?
Get your free @yahoo.com address at http://mail.yahoo.com


--
Want to unsubscribe from this list?
Check out: http://cygwin.com/ml/#unsubscribe-simple


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]