From: noer AT cygnus DOT com (Geoffrey Noer) Subject: Re: Answer to your text == binary question 21 Jan 1999 19:21:23 -0800 Message-ID: <19990121185540.B15389.cygnus.cygwin32.developers@cygnus.com> References: <3 DOT 0 DOT 5 DOT 32 DOT 19990121172155 DOT 0080c6a0 AT pop DOT ne DOT mediaone DOT net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii To: cygwin32-developers AT cygnus DOT com Cc: "Pierre A. Humblet" On Thu, Jan 21, 1999, Christopher Faylor wrote: [...] > Just to complicate matters, however, it seems to me that with Geoff's > recent changes to mount, you can actually change the way the default > happens. With his changes there will now be a user-selectable method > for referring to a Windows drive: /cygdrive/a/foo, where /cygdrive > is selectable. > > I think it is very likely that if you choose /cygdrive to be binmode > then your default drives will be binmode also. > > Is this correct, Geoff? I'm cc'ing cygwin32-developers to get their input and to let people know where things are with respect to the mount changes I've been making recently. (Half of which are in the Jan 17 snapshot; the rest will appear soon). * /// no longer works * The mount table format used has changed. Now mounts are stored in subkeys named after the POSIX path name, with the other information stored as various fields in each mount key. * mount/umount can now deal with mounts in both the user and system registry areas. * It is allowed to have two duplicate mount points at a single POSIX path but if and only if one is in the user area and one is in the system area. * User mounts always take precedence over system mounts. * When a Cygwin program refers to an unknown drive letter that's not already in the mount table somewhere, Cygwin creates an automount under a default path (which defaults to /cygdrive). Cygwin only generates automounts when doing translations from Win32 to POSIX and not the other way around. This means that if you cd into Z:/foo/bar and do a "pwd", Cygwin will generate a POSIX path of /cygdrive/z and from then on, /cygdrive/z would be a valid mount you could use to get at that drive letter. But you couldn't cd into /cygdrive/z and expect to get anything other than an unknown path error if Z: wasn't already mounted. * The default automount path root of "/cygdrive" can be set with the mount utility, and is a piece of the per-user registry mount info. * Currently all auto-mounted mounts are in text mode. The biggest thing that needs to be done is to provide an upgrade path from the old mount table layout to the new one. This will most likely be done with some combination of an upgrade flag in mount and possibly an upgrade method contained in the Cygwin DLL. I haven't ironed out the details yet. That all said, I'd love to hear your opinions about all this, and how automounts should behave with respect to text vs. binmode should affect the automounts (the question Pierre asked me in conjunction with his helping write better Cygwin documentation). Perhaps the CYGWIN environment variable should determine the mode of automounts? -- Geoffrey Noer noer AT cygnus DOT com