Unable to access forced mounts from /bin/sh

Igor Pechtchanski pechtcha@cs.nyu.edu
Mon Aug 22 14:49:00 GMT 2005


On Mon, 22 Aug 2005, Eric Blake wrote:

> According to Igor Pechtchanski on 8/20/2005 11:57 PM:
> > Here's something weird.  I don't know whether this is a problem with the
> > latest Cygwin, or bash:
>
> I don't know if 2-level forced directories would/should ever work.  If /a
> doesn't exist, then should a forced mount point at /a/b really be
> simulating the existance of both a and b?  Would /a then be treated as a
> read-only file system virtual directory until such time as you actually
> 'mkdir /a'?  Maybe a better solution is to make 'mount -f' require that
> 'dirname path' exist, so that only 'basename path' is forced.

Sounds right.  <http://cygwin.com/acronyms/#SHTDI>, of course...

> On the other hand, what if the user does:
> $ mkdir /a
> $ mount -u -f c: /a/b
> $ rmdir /a
>
> This will take some thought and planning for cygwin1.dll and mount(1) to
> get sane behavior in all cases.  Maybe the best solution for this case is
> to have rmdir(2) to return EBUSY or ENOTEMPTY if the directory being
> removed is currently hosting a forced mountpoint.

Another problem is that if one has a mount that points to a non-existent
directory, rmdir will actually resolve to / (with the obvious disastrous
circumstances)...  Again, long standing behavior that someone will have to
fix...

> > Huh?  Strace shows that sh fails when trying to stat /a.  Does this,
> > perhaps, have something to do with bash switching to POSIX mode when
> > invoked as "sh"?
>
> Yes it does.  I'll have to look into bash POSIX mode further, and decide
> why cd only stat's intermediate paths in POSIX mode, to see if it warrants
> a patch to bash.

cd will actually stat all partial paths up to the specified one.  Your
first suggestion (disallow multiple levels of forced mounts) is probably a
better solution, anyway.

Thanks for looking into this.
	Igor
-- 
				http://cs.nyu.edu/~pechtcha/
      |\      _,,,---,,_		pechtcha@cs.nyu.edu
ZZZzz /,`.-'`'    -.  ;-;;,_		igor@watson.ibm.com
     |,4-  ) )-,_. ,\ (  `'-'		Igor Pechtchanski, Ph.D.
    '---''(_/--'  `-'\_) fL	a.k.a JaguaR-R-R-r-r-r-.-.-.  Meow!

If there's any real truth it's that the entire multidimensional infinity
of the Universe is almost certainly being run by a bunch of maniacs. /DA

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/



More information about the Cygwin mailing list