public inbox for cygwin@cygwin.com
 help / color / mirror / Atom feed
* Device names in /proc/mounts
@ 2011-07-25 12:30 Schwarz, Konrad
  2011-07-25 14:01 ` Corinna Vinschen
  2011-07-25 15:07 ` Christopher Faylor
  0 siblings, 2 replies; 25+ messages in thread
From: Schwarz, Konrad @ 2011-07-25 12:30 UTC (permalink / raw)
  To: cygwin

Hi,

in Linux, /proc/mounts maps device names (/dev/sda2) to mount points (/home).

in Cygwin, /proc/mounts maps DOS names (C:) to cygwin names (/cygdrive/c).
This is not terribly useful.

There seems no way of mapping device names (resp. Win32 Device Namespace names) to mount points --
the Cygwin User's Guide suggests using comparing the output of /proc/partitions with the output
of df(1) to match up the two.

It then pointedly uses the registry
entry '\HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices' -- which encodes the mapping
from NT device names to DOS device names -- as an example for regtool(1)
(see http://www.cygwin.com/cygwin-ug-net/using-specialnames.html#pathnames-proc-registry).
It does not explain how to decode the information there -- but neither does MSDN.

However, blk_id(8) describes volumes in terms of (Cygwin) device names (/dev/sda2),
so an easier to use mapping would be nice to have.  It would also increase compatibility
between Cygwin and Linux.

Some poking around MSDN reveals the function QueryDosDevice.  This function's purpose would
seem to be to map DOS names to Win32 device names.  Would it make sense to use
this to populate the first column of /proc/mounts (after mapping Win32 device
names \\.\ to Cygwin device names /dev/sdxy)?

Regards
Konrad Schwarz

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

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: Device names in /proc/mounts
  2011-07-25 12:30 Device names in /proc/mounts Schwarz, Konrad
@ 2011-07-25 14:01 ` Corinna Vinschen
  2011-07-27  8:15   ` Schwarz, Konrad
  2011-07-27  8:35   ` Schwarz, Konrad
  2011-07-25 15:07 ` Christopher Faylor
  1 sibling, 2 replies; 25+ messages in thread
From: Corinna Vinschen @ 2011-07-25 14:01 UTC (permalink / raw)
  To: cygwin

On Jul 25 14:29, Schwarz, Konrad wrote:
> There seems no way of mapping device names (resp. Win32 Device Namespace names) to mount points --

Cygwin mount pounts are not mapping disk devices to POSIX pathnames, but
Win32 pathnames to POSIX pathnames.

> the Cygwin User's Guide suggests using comparing the output of /proc/partitions with the output
> of df(1) to match up the two.
> 
> It then pointedly uses the registry
> entry '\HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices' -- which encodes the mapping
> from NT device names to DOS device names -- as an example for regtool(1)
> (see http://www.cygwin.com/cygwin-ug-net/using-specialnames.html#pathnames-proc-registry).
> It does not explain how to decode the information there -- but neither does MSDN.

Huh?  This is just an example for the virtual /proc/registry access.
It has nothing to do with device mapping.

See http://www.cygwin.com/cygwin-ug-net/using-specialnames.html#pathnames-posixdevices
instead, which shows how POSIX devices are mapped to native NT
devices.  

> However, blk_id(8) describes volumes in terms of (Cygwin) device names (/dev/sda2),
> so an easier to use mapping would be nice to have.  It would also increase compatibility
> between Cygwin and Linux.
> 
> Some poking around MSDN reveals the function QueryDosDevice.  This function's purpose would
> seem to be to map DOS names to Win32 device names.  Would it make sense to use
> this to populate the first column of /proc/mounts (after mapping Win32 device
> names \\.\ to Cygwin device names /dev/sdxy)?

No.  As I wrote above, Cygwin mount pounts are not mapping devices but
Win32 pathnames to POSIX pathnames.  Devices just don't make sense in
this context.  The mapping from NT devices to POSIX devices is used for
direct device access only.


Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Project Co-Leader          cygwin AT cygwin DOT com
Red Hat

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

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: Device names in /proc/mounts
  2011-07-25 12:30 Device names in /proc/mounts Schwarz, Konrad
  2011-07-25 14:01 ` Corinna Vinschen
@ 2011-07-25 15:07 ` Christopher Faylor
  1 sibling, 0 replies; 25+ messages in thread
From: Christopher Faylor @ 2011-07-25 15:07 UTC (permalink / raw)
  To: cygwin

On Mon, Jul 25, 2011 at 02:29:46PM +0200, Schwarz, Konrad wrote:
>Hi,
>
>in Linux, /proc/mounts maps device names (/dev/sda2) to mount points (/home).
>
>in Cygwin, /proc/mounts maps DOS names (C:) to cygwin names (/cygdrive/c).
>This is not terribly useful.

This is a literal dump of the Cygwin mount table.  It is terribly useful
if you want to know what Cygwin's mount mappings look like.

cgf

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

^ permalink raw reply	[flat|nested] 25+ messages in thread

* RE: Device names in /proc/mounts
  2011-07-25 14:01 ` Corinna Vinschen
@ 2011-07-27  8:15   ` Schwarz, Konrad
  2011-07-27  8:35   ` Schwarz, Konrad
  1 sibling, 0 replies; 25+ messages in thread
From: Schwarz, Konrad @ 2011-07-27  8:15 UTC (permalink / raw)
  To: cygwin

> -----Original Message-----
> From: Corinna Vinschen
> Sent: Monday, July 25, 2011 4:01 PM
> Subject: Re: Device names in /proc/mounts
> 
> On Jul 25 14:29, Schwarz, Konrad wrote:
> > There seems no way of mapping device names (resp. Win32 Device 
> > Namespace names) to mount points --
> 
> Cygwin mount pounts are not mapping disk devices to POSIX 
> pathnames, but
> Win32 pathnames to POSIX pathnames.

That is incompatibile with Linux's /proc/mount and mount(8).
Furthermore, Cygwin is inconsistent in this respect, as it uses
POSIX disk device names elsewhere, e.g., in the output of blkid(8).

I would like to find the mount point of a disk using its volume label (or UUID).
blk_id (on both Linux and Cygwin) outputs a string of the form /dev/sdXY,
given a volume label as an argument.

In Cygwin, there is no way of figuring out where /dev/sdXY is mounted.
In Linux, mount(8) or /proc/mounts contains the necessary information.

> > the Cygwin User's Guide suggests using comparing the output of 
> > /proc/partitions with the output of df(1) to match up the two.
> > 
> > It then pointedly uses the registry
> > entry '\HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices' -- which 
> encodes the 
> > mapping from NT device names to DOS device names -- as an 
> example for 
> > regtool(1) (see 
> http://www.cygwin.com/cygwin-ug-net/using-specialnames.html#pa
> thnames-proc-registry).
> > It does not explain how to decode the information there -- 
> but neither does MSDN.
> 
> Huh?  This is just an example for the virtual /proc/registry access.
> It has nothing to do with device mapping.

I merely find it telling that the key
used in the example is the one you would need to map between NT names
for disks and DOS/Win32 names -- this is the section right after the
one you refer to below.

> See 
> http://www.cygwin.com/cygwin-ug-net/using-specialnames.html#pa
> thnames-posixdevices
> instead, which shows how POSIX devices are mapped to native 
> NT devices.  

No -- this section does not cover disks.  It describes other
types of devices, but not disks.
 
> > However, blk_id(8) describes volumes in terms of (Cygwin) 
> device names 
> > (/dev/sda2), so an easier to use mapping would be nice to have.  It 
> > would also increase compatibility between Cygwin and Linux.
> > 
> > Some poking around MSDN reveals the function QueryDosDevice.  This 
> > function's purpose would seem to be to map DOS names to 
> Win32 device 
> > names.  Would it make sense to use this to populate the 
> first column 
> > of /proc/mounts (after mapping Win32 device names \\.\ to 
> Cygwin device names /dev/sdxy)?
> 
> No.  As I wrote above, Cygwin mount pounts are not mapping devices but
> Win32 pathnames to POSIX pathnames.  Devices just don't make 
> sense in this context.  The mapping from NT devices to POSIX 
> devices is used for direct device access only.

Well, since Win32 pathnames corresponding to volumes have NT device names,
and NT device names have Cygwin device names, wouldn't it be more consistent
to use the Cygwin device names in those Cygwin mount points?

Cygwin should limit mapping between its and the Win32 namespace to the
cygpath utility.  Cygpath would need to be extended to support mapping
between Win32 device names (COM1:, C:, ...) and Cygwin device names
(/dev/ttyS0, /dev/sda1, ...).  People wanting to mount a device
using Win32 names would then use

mount "$(cygpath "<win32path>")" <posixpath>

rather than

mount <win32path> <posixpath>

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

^ permalink raw reply	[flat|nested] 25+ messages in thread

* RE: Device names in /proc/mounts
  2011-07-25 14:01 ` Corinna Vinschen
  2011-07-27  8:15   ` Schwarz, Konrad
@ 2011-07-27  8:35   ` Schwarz, Konrad
  2011-07-27  9:41     ` Corinna Vinschen
  1 sibling, 1 reply; 25+ messages in thread
From: Schwarz, Konrad @ 2011-07-27  8:35 UTC (permalink / raw)
  To: cygwin

> -----Original Message-----
> From: Corinna Vinschen
> Sent: Monday, July 25, 2011 4:01 PM
> Subject: Re: Device names in /proc/mounts
> 
> On Jul 25 14:29, Schwarz, Konrad wrote:
> > There seems no way of mapping device names (resp. Win32 Device 
> > Namespace names) to mount points --
> 
> Cygwin mount pounts are not mapping disk devices to POSIX 
> pathnames, but
> Win32 pathnames to POSIX pathnames.

That is incompatibile with Linux's /proc/mount and mount(8).
Furthermore, Cygwin is inconsistent in this respect, as it uses
POSIX disk device names elsewhere, e.g., in the output of blkid(8).

I would like to find the mount point of a disk using its volume label (or UUID).
blk_id (on both Linux and Cygwin) outputs a string of the form /dev/sdXY,
given a volume label as an argument.

In Cygwin, there is no way of figuring out where /dev/sdXY is mounted.
In Linux, mount(8) or /proc/mounts contains the necessary information.

> > the Cygwin User's Guide suggests using comparing the output of 
> > /proc/partitions with the output of df(1) to match up the two.
> > 
> > It then pointedly uses the registry
> > entry '\HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices' -- which 
> encodes the 
> > mapping from NT device names to DOS device names -- as an 
> example for 
> > regtool(1) (see 
> http://www.cygwin.com/cygwin-ug-net/using-specialnames.html#pa
> thnames-proc-registry).
> > It does not explain how to decode the information there -- 
> but neither does MSDN.
> 
> Huh?  This is just an example for the virtual /proc/registry access.
> It has nothing to do with device mapping.

I merely find it telling that the key
used in the example is the one you would need to map between NT names
for disks and DOS/Win32 names -- this is the section right after the
one you refer to below.

> See 
> http://www.cygwin.com/cygwin-ug-net/using-specialnames.html#pa
> thnames-posixdevices
> instead, which shows how POSIX devices are mapped to native 
> NT devices.  

But that is not enough.  What is missing is how to map POSIX device
names to Cygwin mount points.  (This mapping obviously goes
from POSIX device names to NT devices to DOS/Win32 names to
Cygwin mount point, but the link from NT devices to DOS/Win32
names is missing.)
 
> > However, blk_id(8) describes volumes in terms of (Cygwin) 
> device names 
> > (/dev/sda2), so an easier to use mapping would be nice to have.  It 
> > would also increase compatibility between Cygwin and Linux.
> > 
> > Some poking around MSDN reveals the function QueryDosDevice.  This 
> > function's purpose would seem to be to map DOS names to 
> Win32 device 
> > names.  Would it make sense to use this to populate the 
> first column 
> > of /proc/mounts (after mapping Win32 device names \\.\ to 
> Cygwin device names /dev/sdxy)?
> 
> No.  As I wrote above, Cygwin mount pounts are not mapping devices but
> Win32 pathnames to POSIX pathnames.  Devices just don't make 
> sense in this context.  The mapping from NT devices to POSIX 
> devices is used for direct device access only.

Well, since Win32 pathnames corresponding to volumes have NT device names,
and NT device names have Cygwin device names, wouldn't it be more consistent
to use the Cygwin device names in those Cygwin mount points?

Cygwin should limit mapping between its and the Win32 namespace to the
cygpath utility.  Cygpath would need to be extended to support mapping
between Win32 device names (COM1:, C:, ...) and Cygwin device names
(/dev/ttyS0, /dev/sda1, ...).  People wanting to mount a device
using Win32 names would then use

mount "$(cygpath "<win32path>")" <posixpath>

rather than

mount <win32path> <posixpath>

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

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: Device names in /proc/mounts
  2011-07-27  8:35   ` Schwarz, Konrad
@ 2011-07-27  9:41     ` Corinna Vinschen
  2011-07-27 11:19       ` Christopher Faylor
  2011-07-28  8:18       ` Schwarz, Konrad
  0 siblings, 2 replies; 25+ messages in thread
From: Corinna Vinschen @ 2011-07-27  9:41 UTC (permalink / raw)
  To: cygwin

On Jul 27 10:35, Schwarz, Konrad wrote:
> > From: Corinna Vinschen
> > On Jul 25 14:29, Schwarz, Konrad wrote:
> > > There seems no way of mapping device names (resp. Win32 Device 
> > > Namespace names) to mount points --
> > 
> > Cygwin mount pounts are not mapping disk devices to POSIX 
> > pathnames, but
> > Win32 pathnames to POSIX pathnames.
> 
> That is incompatibile with Linux's /proc/mount and mount(8).

Yes.  Cygwin is *not* an operating system.  It does not mount devices.
That's the task of the NT kernel as in

  "\??\C:" ==> "\Device\HarddiskVolume2".

Cygwin mount points are mapping from a POSIX to a Win32 path, nothing
else.  That's how it is defined.

> Furthermore, Cygwin is inconsistent in this respect, as it uses
> POSIX disk device names elsewhere, e.g., in the output of blkid(8).
> 
> I would like to find the mount point of a disk using its volume label (or UUID).
> blk_id (on both Linux and Cygwin) outputs a string of the form /dev/sdXY,
> given a volume label as an argument.

As I wrote before, the /dev device names are only used for raw device
access, not for the mount table.  Given that the mount table contains
paths like:

  D:/foo/bar /baz xyz binary,posix=0 0 0
  //server/share/some/path /home/dummy smbfs binary,noacl 0 0

how would you map them to devices?  Both paths are not devices,
except that they are equivalent to the NT kernel paths

  \Device\HarddiskVolume3\foo\bar
  \Device\Mup\server\share\some\path

> In Cygwin, there is no way of figuring out where /dev/sdXY is mounted.

Yes, for the simple reason that they are not mounted in Cygwin, but
only in NT.  What you're asking for just doesn't make sense in this
context.

> > http://www.cygwin.com/cygwin-ug-net/using-specialnames.html#pa
> > thnames-proc-registry).
> > > It does not explain how to decode the information there -- 
> > but neither does MSDN.
> > 
> > Huh?  This is just an example for the virtual /proc/registry access.
> > It has nothing to do with device mapping.
> 
> I merely find it telling that the key
> used in the example is the one you would need to map between NT names
> for disks and DOS/Win32 names -- this is the section right after the
> one you refer to below.

Ok, here's my official reply:  This was just some example.  It was
not written with any ulterior motive.  I just opened regedit and
searched for a nice registry key to use as an example.  It was not
even written at the same time I rewrote the preceeding chapters.  I'm
sorry that you misinterpreted it, but the fact that the example was in
another, unrelated section of the user's guide could have been used as a
clue.

> > http://www.cygwin.com/cygwin-ug-net/using-specialnames.html#pa
> > thnames-posixdevices
> > instead, which shows how POSIX devices are mapped to native 
> > NT devices.  
> 
> But that is not enough.  What is missing is how to map POSIX device
> names to Cygwin mount points.  (This mapping obviously goes
> from POSIX device names to NT devices to DOS/Win32 names to
> Cygwin mount point, but the link from NT devices to DOS/Win32
> names is missing.)

No.  POSIX devices are not mounted at all.  Win32 paths are.
POSIX devices are only used for raw device access.  There is no
mapping from POSIX device to POSIX path.

> > No.  As I wrote above, Cygwin mount pounts are not mapping devices but
> > Win32 pathnames to POSIX pathnames.  Devices just don't make 
> > sense in this context.  The mapping from NT devices to POSIX 
> > devices is used for direct device access only.
> 
> Well, since Win32 pathnames corresponding to volumes have NT device names,
> and NT device names have Cygwin device names, wouldn't it be more consistent
> to use the Cygwin device names in those Cygwin mount points?

No.  There is no reason to carry the Linux compatibility to such
extremes.  Forcing the users to use device names in /etc/fstab just
won't fly.  Let's use the above two examples again:

  D:/foo/bar /baz xyz binary,posix=0 0 0
  //server/share/some/path /home/dummy smbfs binary,noacl 0 0

What would you like to see in fstab for both of them?

  /Device/HarddiskVolume3/foo/bar /baz xyz binary,posix=0 0 0

or

  /dev/sdb1/foo/bar /baz xyz binary,posix=0 0 0

Both are not Linux compatible either, since you can't use expressions
like /dev/sdb1/foo/bar under Linux to access subdirectories on a drive.

And what about remote shares?
 
  /Device/Mup/server/share/some/path /home/dummy smbfs binary,noacl 0 0

Where's the POSIX device here?  There is none.  Do you want to invent
one, like, say, /dev/mup?  There's no equivalent device on Linux.
Again, not Linux compatible.  Cygwin tries to have a Linux-like API.
But it's running on Win32.  So there are limitation what we can do
and what makes sense, given the context.


Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Project Co-Leader          cygwin AT cygwin DOT com
Red Hat

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

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: Device names in /proc/mounts
  2011-07-27  9:41     ` Corinna Vinschen
@ 2011-07-27 11:19       ` Christopher Faylor
  2011-07-28  8:18       ` Schwarz, Konrad
  1 sibling, 0 replies; 25+ messages in thread
From: Christopher Faylor @ 2011-07-27 11:19 UTC (permalink / raw)
  To: cygwin

On Wed, Jul 27, 2011 at 11:40:51AM +0200, Corinna Vinschen wrote:
>On Jul 27 10:35, Schwarz, Konrad wrote:
>>>From: Corinna Vinschen On Jul 25 14:29, Schwarz, Konrad wrote:
>>>>There seems no way of mapping device names (resp.  Win32 Device
>>>>Namespace names) to mount points --
>>>
>>>Cygwin mount pounts are not mapping disk devices to POSIX pathnames,
>>>but Win32 pathnames to POSIX pathnames.
>>
>>That is incompatibile with Linux's /proc/mount and mount(8).
>
>Yes.  Cygwin is *not* an operating system.  It does not mount devices.
>That's the task of the NT kernel as in
>
>"\??\C:" ==> "\Device\HarddiskVolume2".
>
>Cygwin mount points are mapping from a POSIX to a Win32 path, nothing
>else.  That's how it is defined.

And that is how it has operated (and has been documented to operate)
for, oh I don't know, fifteen+ years or so?  It's not going to change.

cgf

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

^ permalink raw reply	[flat|nested] 25+ messages in thread

* RE: Device names in /proc/mounts
  2011-07-27  9:41     ` Corinna Vinschen
  2011-07-27 11:19       ` Christopher Faylor
@ 2011-07-28  8:18       ` Schwarz, Konrad
  2011-07-28 11:22         ` Christopher Faylor
  1 sibling, 1 reply; 25+ messages in thread
From: Schwarz, Konrad @ 2011-07-28  8:18 UTC (permalink / raw)
  To: cygwin

> From: Corinna Vinschen
> Sent: Wednesday, July 27, 2011 11:41 AM
> Subject: Re: Device names in /proc/mounts

>   D:/foo/bar /baz xyz binary,posix=0 0 0
>   //server/share/some/path /home/dummy smbfs binary,noacl 0 0
> 
> how would you map them to devices?  Both paths are not 
> devices, except that they are equivalent to the NT kernel paths
> 
>   \Device\HarddiskVolume3\foo\bar
>   \Device\Mup\server\share\some\path

Why not display these (in /proc/mounts) as

	/cygdrive/d/foo/bar	/baz	bind	...
	//server/share/some/path	/home/dummy	bind	...

I think this is the Linux bind mount syntax.

> > In Cygwin, there is no way of figuring out where /dev/sdXY 
> is mounted.
> 
> Yes, for the simple reason that they are not mounted in 
> Cygwin, but only in NT.  What you're asking for just doesn't 
> make sense in this context.

As far as I understand, Cygwin mount knows about
- fixed mounts /, /usr/bin, /usr/lib
- user-defined mounts taken from /etc/fstab, /etc/fstab.d, and the command-line
- Win32 drive letters implicitly mounted under /cygdrive

The last case is actually handled by Windows, as you point out.

What would be the problem (otherwise than backwards compatibility) in using
Cygwin device names in this last case?

For the second case (and the first, should you so desire), you could use
the /cygdrive prefix or //server/share notation, as above.

> No.  There is no reason to carry the Linux compatibility to 
> such extremes.  Forcing the users to use device names in 
> /etc/fstab just won't fly.  Let's use the above two examples again:
> 
>   D:/foo/bar /baz xyz binary,posix=0 0 0
>   //server/share/some/path /home/dummy smbfs binary,noacl 0 0
> 
> What would you like to see in fstab for both of them?
> 
>   /Device/HarddiskVolume3/foo/bar /baz xyz binary,posix=0 0 0
> 
> or
> 
>   /dev/sdb1/foo/bar /baz xyz binary,posix=0 0 0
> 
> Both are not Linux compatible either, since you can't use 
> expressions like /dev/sdb1/foo/bar under Linux to access 
> subdirectories on a drive.

Well, I would use

	/cygdrive/d/foo/bar	/baz	bind	...

as I suggested above.  Even better would be if Linux rebinding
did it this way.

But mostly I would like
	/dev/sda1 /cygdrive/c	ntfs	...
rather than
	C: /cygdrive/c	ntfs	...

> And what about remote shares?
>  
>   /Device/Mup/server/share/some/path /home/dummy smbfs 
> binary,noacl 0 0
> 
> Where's the POSIX device here?  There is none.  Do you want 
> to invent one, like, say, /dev/mup?  There's no equivalent 
> device on Linux.

Again, as suggested above:

	//server/share/some/path /home/dummy smbs	...

> Cygwin tries to have a Linux-like API.
> But it's running on Win32.  So there are limitation what we 
> can do and what makes sense, given the context.

I quite understand, it's just that I think you could sensibly
stretch the limits a little bit more in this case :-).

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

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: Device names in /proc/mounts
  2011-07-28  8:18       ` Schwarz, Konrad
@ 2011-07-28 11:22         ` Christopher Faylor
  2011-07-29  7:46           ` Schwarz, Konrad
  0 siblings, 1 reply; 25+ messages in thread
From: Christopher Faylor @ 2011-07-28 11:22 UTC (permalink / raw)
  To: cygwin

On Thu, Jul 28, 2011 at 10:18:26AM +0200, Schwarz, Konrad wrote:
>As far as I understand, Cygwin mount knows about
>- fixed mounts /, /usr/bin, /usr/lib
>- user-defined mounts taken from /etc/fstab, /etc/fstab.d, and the command-line
>- Win32 drive letters implicitly mounted under /cygdrive
>
>The last case is actually handled by Windows, as you point out.
>
>What would be the problem (otherwise than backwards compatibility) in using
>Cygwin device names in this last case?

The above is inaccurate and misleading.  Cygwin's mount utility is a mapping
between windows paths and posix paths.  That's it.  The "drive letters" above
could be anything that Windows maps to a drive letter.  A drive does not
necessarily directly map to a physical device.

>For the second case (and the first, should you so desire), you could use
>the /cygdrive prefix or //server/share notation, as above.

/cygdrive is a user-settable value.  Some users use other values like
"/dev" instead of /cygdrive.  Some people get rid of the /cygdrive
entirely and just map to /a.  We're not going to introduce this level of
recursive confusion to the mount table handling.

Please give it a rest.  We're not changing the mount table for you.

cgf

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

^ permalink raw reply	[flat|nested] 25+ messages in thread

* RE: Device names in /proc/mounts
  2011-07-28 11:22         ` Christopher Faylor
@ 2011-07-29  7:46           ` Schwarz, Konrad
  2011-07-29  9:21             ` Corinna Vinschen
  0 siblings, 1 reply; 25+ messages in thread
From: Schwarz, Konrad @ 2011-07-29  7:46 UTC (permalink / raw)
  To: cygwin

> -----Original Message-----
> From: Christopher Faylor 
> Subject: Re: Device names in /proc/mounts

> The "drive letters" above could be anything that 
> Windows maps to a drive letter.  A drive does not necessarily 
> directly map to a physical device.

That's why the proposal suggests using /dev/sdXY names only when
a driver letter does indeed map to a hard disk.
 
> /cygdrive is a user-settable value.

So use whatever /cygdrive is actually set to.

>  Some users use other 
> values like "/dev" instead of /cygdrive.

How does /dev/ttyS0 resolve in this case?
Those users have already shot themselves in the foot.

> Some people get rid 
> of the /cygdrive entirely and just map to /a.

Which would be a rebind.  /cygdrive (or the user's
selected replacement) still exists, right?

>  We're not 
> going to introduce this level of recursive confusion to the 
> mount table handling.

The proposal is sound.  It works on Linux, after all.

> Please give it a rest.  We're not changing the mount table for you.

Ok.

Can you answer the following question:

Given a volume label, how does one figure out where the corresponding
volume has been mounted into the Cygwin namespace?

Thanks,

Konrad Schwarz

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

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: Device names in /proc/mounts
  2011-07-29  7:46           ` Schwarz, Konrad
@ 2011-07-29  9:21             ` Corinna Vinschen
  2011-07-29 13:34               ` Schwarz, Konrad
  0 siblings, 1 reply; 25+ messages in thread
From: Corinna Vinschen @ 2011-07-29  9:21 UTC (permalink / raw)
  To: cygwin

On Jul 29 09:45, Schwarz, Konrad wrote:
> > From: Christopher Faylor 
> >  We're not 
> > going to introduce this level of recursive confusion to the 
> > mount table handling.
> 
> The proposal is sound.  It works on Linux, after all.

Ok, so I assume Cygwin should be able to load Linux kernel modules
and provide tools like modprobe and lsmod, right?  After all, it
works on Linux.  It does not really help to drive the compatibility
in with a hammer.

> > Please give it a rest.  We're not changing the mount table for you.

> Ok.
> 
> Can you answer the following question:
> 
> Given a volume label, how does one figure out where the corresponding
> volume has been mounted into the Cygwin namespace?

We're not mounting volumes, we're mounting Win32 paths.  There is no
direct correspondence between volumes and Cygwin mount points.


Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Project Co-Leader          cygwin AT cygwin DOT com
Red Hat

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

^ permalink raw reply	[flat|nested] 25+ messages in thread

* RE: Device names in /proc/mounts
  2011-07-29  9:21             ` Corinna Vinschen
@ 2011-07-29 13:34               ` Schwarz, Konrad
  2011-07-29 20:16                 ` Corinna Vinschen
  2011-07-29 21:28                 ` Device names in /proc/mounts Buchbinder, Barry (NIH/NIAID) [E]
  0 siblings, 2 replies; 25+ messages in thread
From: Schwarz, Konrad @ 2011-07-29 13:34 UTC (permalink / raw)
  To: cygwin

> > Can you answer the following question:
> > 
> > Given a volume label, how does one figure out where the 
> corresponding 
> > volume has been mounted into the Cygwin namespace?
> 
> We're not mounting volumes, we're mounting Win32 paths.  
> There is no direct correspondence between volumes and Cygwin 
> mount points.

When a person inserts removable media (USB memory stick, optical disk, ...),
Windows assigns a more-or-less random drive letter.
Cygwin automatically makes this drive letter available
under /cygdrive/ (or whatever the user has renamed /cygdrive to).

Given a (unique) volume label or disk UUID, blk_id(8) on
both Linux and Cygwin tells you the disk and partition
in /dev/sdXY format.

In Linux, you can look up the mount point for device /dev/sdXY
in /proc/mounts or in the output of mount(8).  Thus, given
a volume label, you can figure out where to access the files
on the volume.

How do you do that in Cygwin?

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

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: Device names in /proc/mounts
  2011-07-29 13:34               ` Schwarz, Konrad
@ 2011-07-29 20:16                 ` Corinna Vinschen
  2011-07-30  4:53                   ` Christopher Faylor
                                     ` (2 more replies)
  2011-07-29 21:28                 ` Device names in /proc/mounts Buchbinder, Barry (NIH/NIAID) [E]
  1 sibling, 3 replies; 25+ messages in thread
From: Corinna Vinschen @ 2011-07-29 20:16 UTC (permalink / raw)
  To: cygwin

On Jul 29 15:34, Schwarz, Konrad wrote:
> > > Can you answer the following question:
> > > 
> > > Given a volume label, how does one figure out where the 
> > corresponding 
> > > volume has been mounted into the Cygwin namespace?
> > 
> > We're not mounting volumes, we're mounting Win32 paths.  
> > There is no direct correspondence between volumes and Cygwin 
> > mount points.
> 
> When a person inserts removable media (USB memory stick, optical disk, ...),
> Windows assigns a more-or-less random drive letter.
> Cygwin automatically makes this drive letter available
> under /cygdrive/ (or whatever the user has renamed /cygdrive to).
> 
> Given a (unique) volume label or disk UUID, blk_id(8) on
> both Linux and Cygwin tells you the disk and partition
> in /dev/sdXY format.

It does?  Interesting.  Where does it get the data under Cygwin?

> In Linux, you can look up the mount point for device /dev/sdXY
> in /proc/mounts or in the output of mount(8).  Thus, given
> a volume label, you can figure out where to access the files
> on the volume.
> 
> How do you do that in Cygwin?

ls /cygdrive.  Insert the disk.  ls /cygdrive again.  There's a new
directory entry now.

Or, open the "Computer" Window on your desktop.


Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Project Co-Leader          cygwin AT cygwin DOT com
Red Hat

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

^ permalink raw reply	[flat|nested] 25+ messages in thread

* RE: Device names in /proc/mounts
  2011-07-29 13:34               ` Schwarz, Konrad
  2011-07-29 20:16                 ` Corinna Vinschen
@ 2011-07-29 21:28                 ` Buchbinder, Barry (NIH/NIAID) [E]
  1 sibling, 0 replies; 25+ messages in thread
From: Buchbinder, Barry (NIH/NIAID) [E] @ 2011-07-29 21:28 UTC (permalink / raw)
  To: cygwin, 'Schwarz, Konrad'

Schwarz, Konrad sent the following at Friday, July 29, 2011 9:34 AM
>> > Given a volume label, how does one figure out where the
>> corresponding
>> > volume has been mounted into the Cygwin namespace?
>>
>> We're not mounting volumes, we're mounting Win32 paths.
>> There is no direct correspondence between volumes and Cygwin
>> mount points.
>
>When a person inserts removable media (USB memory stick, optical disk,
>...), Windows assigns a more-or-less random drive letter. Cygwin
>automatically makes this drive letter available under /cygdrive/ (or
>whatever the user has renamed /cygdrive to).
>
>Given a (unique) volume label or disk UUID, blk_id(8) on both Linux and
>Cygwin tells you the disk and partition in /dev/sdXY format.
>
>In Linux, you can look up the mount point for device /dev/sdXY in
>/proc/mounts or in the output of mount(8). Thus, given a volume label,
>you can figure out where to access the files on the volume.
>
>How do you do that in Cygwin?

One could use a windows tool to get the volume.  Here is a possible start.

/c> echo '
n' | cmd /c label h:
Volume in drive H: is CIFS.HOMEDIR
Volume label (ENTER for none)?

Delete current volume label (Y/N)? n
/c>

Good luck.

- Barry
  Disclaimer: Statements made herein are not made on behalf of NIAID.

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

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: Device names in /proc/mounts
  2011-07-29 20:16                 ` Corinna Vinschen
@ 2011-07-30  4:53                   ` Christopher Faylor
  2011-07-30  8:18                     ` Corinna Vinschen
  2011-08-06 23:53                   ` pb w/ cygpath -w /dev/sdXY (was Re: Device names in /proc/mounts) Cyrille Lefevre
  2012-09-13 16:27                   ` associating volume labels with drive letters Nellis, Kenneth
  2 siblings, 1 reply; 25+ messages in thread
From: Christopher Faylor @ 2011-07-30  4:53 UTC (permalink / raw)
  To: cygwin

On Fri, Jul 29, 2011 at 10:15:56PM +0200, Corinna Vinschen wrote:
>On Jul 29 15:34, Schwarz, Konrad wrote:
>> > > Can you answer the following question:
>> > > 
>> > > Given a volume label, how does one figure out where the 
>> > corresponding 
>> > > volume has been mounted into the Cygwin namespace?
>> > 
>> > We're not mounting volumes, we're mounting Win32 paths.  
>> > There is no direct correspondence between volumes and Cygwin 
>> > mount points.
>> 
>> When a person inserts removable media (USB memory stick, optical disk, ...),
>> Windows assigns a more-or-less random drive letter.
>> Cygwin automatically makes this drive letter available
>> under /cygdrive/ (or whatever the user has renamed /cygdrive to).
>> 
>> Given a (unique) volume label or disk UUID, blk_id(8) on
>> both Linux and Cygwin tells you the disk and partition
>> in /dev/sdXY format.
>
>It does?  Interesting.  Where does it get the data under Cygwin?

Huh.  On my system blk_id(8) says "command not found".  And,

http://cygwin.com/cgi-bin2/package-grep.cgi?grep=blk_id

says "Found 0 matches for blk_id"

cgf

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

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: Device names in /proc/mounts
  2011-07-30  4:53                   ` Christopher Faylor
@ 2011-07-30  8:18                     ` Corinna Vinschen
  2011-08-01 13:10                       ` Nellis, Kenneth
  0 siblings, 1 reply; 25+ messages in thread
From: Corinna Vinschen @ 2011-07-30  8:18 UTC (permalink / raw)
  To: cygwin

On Jul 30 00:52, Christopher Faylor wrote:
> On Fri, Jul 29, 2011 at 10:15:56PM +0200, Corinna Vinschen wrote:
> >On Jul 29 15:34, Schwarz, Konrad wrote:
> >> > > Can you answer the following question:
> >> > > 
> >> > > Given a volume label, how does one figure out where the 
> >> > corresponding 
> >> > > volume has been mounted into the Cygwin namespace?
> >> > 
> >> > We're not mounting volumes, we're mounting Win32 paths.  
> >> > There is no direct correspondence between volumes and Cygwin 
> >> > mount points.
> >> 
> >> When a person inserts removable media (USB memory stick, optical disk, ...),
> >> Windows assigns a more-or-less random drive letter.
> >> Cygwin automatically makes this drive letter available
> >> under /cygdrive/ (or whatever the user has renamed /cygdrive to).
> >> 
> >> Given a (unique) volume label or disk UUID, blk_id(8) on
> >> both Linux and Cygwin tells you the disk and partition
> >> in /dev/sdXY format.
> >
> >It does?  Interesting.  Where does it get the data under Cygwin?
> 
> Huh.  On my system blk_id(8) says "command not found".  And,
> 
> http://cygwin.com/cgi-bin2/package-grep.cgi?grep=blk_id
> 
> says "Found 0 matches for blk_id"

Konrad means blkid.  It's in the util-linux package.


Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Project Co-Leader          cygwin AT cygwin DOT com
Red Hat

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

^ permalink raw reply	[flat|nested] 25+ messages in thread

* RE: Device names in /proc/mounts
  2011-07-30  8:18                     ` Corinna Vinschen
@ 2011-08-01 13:10                       ` Nellis, Kenneth
  2011-08-01 13:22                         ` Christopher Faylor
  0 siblings, 1 reply; 25+ messages in thread
From: Nellis, Kenneth @ 2011-08-01 13:10 UTC (permalink / raw)
  To: cygwin

[-- Attachment #1: Type: text/plain, Size: 1423 bytes --]

> From: Corinna Vinschen
> 
> Konrad means blkid.  It's in the util-linux package.

That's funny. Setup indicates my util-linux package is up-to-date
with version 2.17.2-1, but yet:

$ type blkid
-bash: type: blkid: not found
$ which blkid
which: no blkid in (/usr/local/bin:/usr/bin:/cygdrive/c/Program Files/Business Objects/Common/3.5/bin/NOTES:/cygdrive/c/Program Files/Business Objects/Common/3.5/bin/NOTES/DATA:/cygdrive/c/WINDOWS/system32:/cygdrive/c/WINDOWS:/cygdrive/c/WINDOWS/System32/Wbem:/cygdrive/c/Program Files/Intel/DMIX:/cygdrive/c/Program Files/ATI Technologies/ATI.ACE/Core-Static:/cygdrive/c/Program Files/NTRU Cryptosystems/NTRU TCG Software Stack/bin:/cygdrive/c/Program Files/Wave Systems Corp/Gemalto/Access Client/v5:/cygdrive/c/Program Files/Common Files/Roxio Shared/DLLShared:/cygdrive/c/Program Files/Common Files/Roxio Shared/9.0/DLLShared:/cygdrive/c/Program Files/IBM/RationalSDLC/ClearCase/bin:/cygdrive/c/Program Files/IBM/RationalSDLC/common:/cygdrive/c/Program Files/Microsoft SQL Server/90/Tools/binn:/cygdrive/c/Program Files/QuickTime/QTSystem:/cygdrive/c/Program Files/Graphviz2.26.3/bin:/cygdrive/d/cyghome/knellis/scripts/acs:/cygdrive/d/cyghome/knellis/scripts:/cygdrive/d/cyghome/knellis/bin/i686:/cygdrive/c/Program Files/Microsoft Office/Office12)
$

Is it hiding in an obscure directory not part of the standard PATH?

cygcheck -svr | attached

--Ken Nellis

[-- Attachment #2: cygcheck.out --]
[-- Type: application/octet-stream, Size: 32391 bytes --]

[-- Attachment #3: Type: text/plain, Size: 218 bytes --]

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

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: Device names in /proc/mounts
  2011-08-01 13:10                       ` Nellis, Kenneth
@ 2011-08-01 13:22                         ` Christopher Faylor
  0 siblings, 0 replies; 25+ messages in thread
From: Christopher Faylor @ 2011-08-01 13:22 UTC (permalink / raw)
  To: cygwin

On Mon, Aug 01, 2011 at 08:10:30AM -0500, Nellis, Kenneth wrote:
>> From: Corinna Vinschen
>> 
>> Konrad means blkid.  It's in the util-linux package.
>
>That's funny. Setup indicates my util-linux package is up-to-date
>with version 2.17.2-1, but yet:
>
>$ type blkid
>-bash: type: blkid: not found
>$ which blkid
>which: no blkid in (/usr/local/bin:/usr/bin:/cygdrive/c/Program Files/Business Objects/Common/3.5/bin/NOTES:/cygdrive/c/Program Files/Business Objects/Common/3.5/bin/NOTES/DATA:/cygdrive/c/WINDOWS/system32:/cygdrive/c/WINDOWS:/cygdrive/c/WINDOWS/System32/Wbem:/cygdrive/c/Program Files/Intel/DMIX:/cygdrive/c/Program Files/ATI Technologies/ATI.ACE/Core-Static:/cygdrive/c/Program Files/NTRU Cryptosystems/NTRU TCG Software Stack/bin:/cygdrive/c/Program Files/Wave Systems Corp/Gemalto/Access Client/v5:/cygdrive/c/Program Files/Common Files/Roxio Shared/DLLShared:/cygdrive/c/Program Files/Common Files/Roxio Shared/9.0/DLLShared:/cygdrive/c/Program Files/IBM/RationalSDLC/ClearCase/bin:/cygdrive/c/Program Files/IBM/RationalSDLC/common:/cygdrive/c/Program Files/Microsoft SQL Server/90/Tools/binn:/cygdrive/c/Program Files/QuickTime/QTSystem:/cygdrive/c/Program Files/Graphviz2.26.3/bin:/cygdrive/d/cyghome/knellis/scripts/acs:/cygdrive/d/cyghome/knellis/scripts:/cygdrive/d/cyghome/knellis/bin/i686:/cygdrive/c/Program Fi
>les/Microsoft Office/Office12)
>$
>
>Is it hiding in an obscure directory not part of the standard PATH?

http://cygwin.com/packages/

shows that the binary is in /usr/sbin.

cgf

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

^ permalink raw reply	[flat|nested] 25+ messages in thread

* pb w/ cygpath -w /dev/sdXY (was Re: Device names in /proc/mounts)
  2011-07-29 20:16                 ` Corinna Vinschen
  2011-07-30  4:53                   ` Christopher Faylor
@ 2011-08-06 23:53                   ` Cyrille Lefevre
  2011-08-07 11:38                     ` Corinna Vinschen
  2012-09-13 16:27                   ` associating volume labels with drive letters Nellis, Kenneth
  2 siblings, 1 reply; 25+ messages in thread
From: Cyrille Lefevre @ 2011-08-06 23:53 UTC (permalink / raw)
  To: cygwin

Le 29/07/2011 22:15, Corinna Vinschen a écrit :
> On Jul 29 15:34, Schwarz, Konrad wrote:
>>>> Can you answer the following question:
>>>>
>>>> Given a volume label, how does one figure out where the
>>> corresponding
>>>> volume has been mounted into the Cygwin namespace?
>>>
>>> We're not mounting volumes, we're mounting Win32 paths.
>>> There is no direct correspondence between volumes and Cygwin
>>> mount points.
>>
>> When a person inserts removable media (USB memory stick, optical disk, ...),
>> Windows assigns a more-or-less random drive letter.
>> Cygwin automatically makes this drive letter available
>> under /cygdrive/ (or whatever the user has renamed /cygdrive to).
>>
>> Given a (unique) volume label or disk UUID, blk_id(8) on
>> both Linux and Cygwin tells you the disk and partition
>> in /dev/sdXY format.
>
> It does?  Interesting.  Where does it get the data under Cygwin?
>
>> In Linux, you can look up the mount point for device /dev/sdXY
>> in /proc/mounts or in the output of mount(8).  Thus, given
>> a volume label, you can figure out where to access the files
>> on the volume.
>>
>> How do you do that in Cygwin?
>
> ls /cygdrive.  Insert the disk.  ls /cygdrive again.  There's a new
> directory entry now.
>
> Or, open the "Computer" Window on your desktop.

some times ago, someone (you?) modifies cygpath to handle /dev/sdXY paths.

however, it seems there is a problem somewhere ?

v2$ uname -a
CYGWIN_NT-6.0 pcvista 1.7.9(0.237/5/3) 2011-03-29 10:10 i686 Cygwin

v2$ /usr/sbin/blkid
/dev/sda1: LABEL="BOOT500G0 (CW_VM_2)" UUID="905A77A75A77892C" TYPE="ntfs"
/dev/sda2: LABEL="DATA500G0 (DL_2)" UUID="3CBA5BBFBA5B747C" TYPE="ntfs"
/dev/sda3: LABEL="RECOVER_2" UUID="8644-3F52" TYPE="vfat"
/dev/sda4: UUID="e57dd3da-585e-4d23-9761-f714c75f32c0" SEC_TYPE="ext2" 
TYPE="ext3"
/dev/sda5: UUID="138b9a25-2681-4b4f-a428-ff8dd62e18ff" TYPE="swap"
/dev/sdb1: LABEL="ESATA2T1 (MOVIES)" UUID="1E5275B85275956D" TYPE="ntfs"
/dev/sdc1: LABEL="ESATA2T2 (OAV_SERIES_BD_DOC_PSP)" 
UUID="DE6EC4C36EC49625" TYPE="ntfs"
/dev/sdd1: LABEL="SATA500G0 (BOOT_CW_VM)" UUID="905A77A75A77892C" 
TYPE="ntfs"
/dev/sdd2: LABEL="SATA500G1 (DL)" UUID="4024F55724F55080" TYPE="ntfs"
/dev/sdd3: LABEL="RECOVER" UUID="8644-3F52" TYPE="vfat"
/dev/sde1: LABEL="SATA500G2 (EMULE_NORTON)" UUID="886606C66606B54A" 
TYPE="ntfs"
/dev/sdi1: LABEL="USB500G1 (MM_OLD_TUHS)" UUID="4CA87E8AA87E7276" 
TYPE="ntfs"
/dev/sdj1: LABEL="USB1T1 (REPS)" UUID="FEB2DCA1B2DC5FA7" TYPE="ntfs"

v2$ cygpath -w $(/usr/sbin/blkid | cut -d: -f1
\\.\E:
\\.\G:
\\.\H:
\\.\STORAGE#Volume#1&19f7e59c&0&Signature1A08653EOffset320053F800Length12996C000#{7f108a28-9833-4b3b-b780-2c6b5fa5c062}
\\.\STORAGE#Volume#1&19f7e59c&0&Signature1A08653EOffset3329EB3600Length11A5CA00#{7f108a28-9833-4b3b-b780-2c6b5fa5c062}
\\.\I:
\\.\J:
\\.\C:
\\.\D:
E:0
E:1
E:5
E:6

sda1..5 ok
sdb1, sdc1, sdd1..2 ok
sdd3 ko E:0 instead of R:
sde1 ko E:1 instead of S:
sdi1 ko E:2 instead of F:
sdj1 ko E:3 instead of K:

any ideas ?

part of cygcheck -s :

Cygwin Configuration Diagnostics
Current System Time: Sun Aug 07 01:38:51 2011

Windows Vista Home Premium Ver 6.0 Build 6002 Service Pack 2

Path:   C:\cygwin\home\Cyrille\bin
         C:\cygwin\usr\local\bin
         C:\cygwin\bin
         C:\Windows\system32
         C:\Windows
         C:\Windows\system32\wbem
         C:\cygwin\lib\lapack
         C:\cygwin\usr\pkg\bin
         C:\cygwin\opt\wbin

Output from C:\cygwin\bin\id.exe
UID: 1000(Cyrille)   GID: 513(None)
513(None)            0(root)              544(Administrateurs)
545(Utilisateurs)

SysDir: C:\Windows\system32
WinDir: C:\Windows

USER = 'Cyrille'
PWD = '/home/Cygille'
CYGWIN = 'nodosfilewarning'
HOME = '/home/Cyrille'

obcaseinsensitive set to 1

Cygwin installations found in the registry:
   System: Key: 50a84960ed2ca80d Path: C:\cygwin
   System: Key: c5e39b7a9d22bafb Path: C:\cygwin
   System: Key: c5e39b7a9d22bafb?"?? Path: C:\cygwin
   System: Key: a8fb4064ab2b92ac Path: C:\Windows (ORPHANED)
   System: Key: 10b99c96e3dd575f Path: C:\Users\Cyrille\Temp (ORPHANED)

c:  hd  NTFS    238469Mb  67% CP CS UN PA FC     SATA500G0 (BOOT_CW_VM)
d:  hd  NTFS    204799Mb  95% CP CS UN PA FC     SATA500G1 (DL)
e:  hd  NTFS    204800Mb  55% CP CS UN PA FC     BOOT500G0 (CW_VM_2)
f:  hd  NTFS    476936Mb  87% CP CS UN PA FC     USB500G1 (MM_OLD_TUHS)
g:  hd  NTFS    204799Mb  91% CP CS UN PA FC     DATA500G0 (DL_2)
h:  hd  FAT32    33659Mb  17% CP    UN           RECOVER_2
i:  hd  NTFS   1907726Mb 100% CP CS UN PA FC     ESATA2T1 (MOVIES)
j:  hd  NTFS   1907726Mb  99% CP CS UN PA FC     ESATA2T2 
(OAV_SERIES_BD_DOC_PSP)
k:  hd  NTFS    953866Mb  98% CP CS UN PA FC     USB1T1 (REPS)
o:  cd             N/A    N/A
r:  hd  FAT32    33658Mb  95% CP    UN           RECOVER
s:  hd  NTFS    476936Mb  77% CP CS UN PA FC     SATA500G2 (EMULE_NORTON)
v:  cd             N/A    N/A
w:  cd             N/A    N/A
x:  fd             N/A    N/A
y:  fd             N/A    N/A
z:  fd             N/A    N/A

C:\cygwin         /          system  binary,auto
C:\cygwin-legacy  /legacy    system  binary
C:/cygwin/bin     /usr/bin   system  binary
C:/cygwin/lib     /usr/lib   system  binary
cygdrive prefix   /cygdrive  user    binary,auto

...

Regards,

Cyrille Lefevre
-- 
mailto:Cyrille.Lefevre-lists@laposte.net


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

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: pb w/ cygpath -w /dev/sdXY (was Re: Device names in /proc/mounts)
  2011-08-06 23:53                   ` pb w/ cygpath -w /dev/sdXY (was Re: Device names in /proc/mounts) Cyrille Lefevre
@ 2011-08-07 11:38                     ` Corinna Vinschen
  0 siblings, 0 replies; 25+ messages in thread
From: Corinna Vinschen @ 2011-08-07 11:38 UTC (permalink / raw)
  To: cygwin

On Aug  7 01:53, Cyrille Lefevre wrote:
> some times ago, someone (you?) modifies cygpath to handle /dev/sdXY paths.
> 
> however, it seems there is a problem somewhere ?
> 
> v2$ uname -a
> CYGWIN_NT-6.0 pcvista 1.7.9(0.237/5/3) 2011-03-29 10:10 i686 Cygwin
> 
> v2$ /usr/sbin/blkid
> /dev/sda1: LABEL="BOOT500G0 (CW_VM_2)" UUID="905A77A75A77892C" TYPE="ntfs"
> /dev/sda2: LABEL="DATA500G0 (DL_2)" UUID="3CBA5BBFBA5B747C" TYPE="ntfs"
> /dev/sda3: LABEL="RECOVER_2" UUID="8644-3F52" TYPE="vfat"
> /dev/sda4: UUID="e57dd3da-585e-4d23-9761-f714c75f32c0"
> SEC_TYPE="ext2" TYPE="ext3"
> /dev/sda5: UUID="138b9a25-2681-4b4f-a428-ff8dd62e18ff" TYPE="swap"
> /dev/sdb1: LABEL="ESATA2T1 (MOVIES)" UUID="1E5275B85275956D" TYPE="ntfs"
> /dev/sdc1: LABEL="ESATA2T2 (OAV_SERIES_BD_DOC_PSP)"
> UUID="DE6EC4C36EC49625" TYPE="ntfs"
> /dev/sdd1: LABEL="SATA500G0 (BOOT_CW_VM)" UUID="905A77A75A77892C"
> TYPE="ntfs"
> /dev/sdd2: LABEL="SATA500G1 (DL)" UUID="4024F55724F55080" TYPE="ntfs"
> /dev/sdd3: LABEL="RECOVER" UUID="8644-3F52" TYPE="vfat"
> /dev/sde1: LABEL="SATA500G2 (EMULE_NORTON)" UUID="886606C66606B54A"
> TYPE="ntfs"
> /dev/sdi1: LABEL="USB500G1 (MM_OLD_TUHS)" UUID="4CA87E8AA87E7276"
> TYPE="ntfs"
> /dev/sdj1: LABEL="USB1T1 (REPS)" UUID="FEB2DCA1B2DC5FA7" TYPE="ntfs"
> 
> v2$ cygpath -w $(/usr/sbin/blkid | cut -d: -f1
> \\.\E:
> \\.\G:
> \\.\H:
> \\.\STORAGE#Volume#1&19f7e59c&0&Signature1A08653EOffset320053F800Length12996C000#{7f108a28-9833-4b3b-b780-2c6b5fa5c062}
> \\.\STORAGE#Volume#1&19f7e59c&0&Signature1A08653EOffset3329EB3600Length11A5CA00#{7f108a28-9833-4b3b-b780-2c6b5fa5c062}
> \\.\I:
> \\.\J:
> \\.\C:
> \\.\D:
> E:0
> E:1
> E:5
> E:6
> 
> sda1..5 ok
> sdb1, sdc1, sdd1..2 ok
> sdd3 ko E:0 instead of R:
> sde1 ko E:1 instead of S:
> sdi1 ko E:2 instead of F:
> sdj1 ko E:3 instead of K:
> 
> any ideas ?

No.  I don't see what's going on inside and I don't have an environment
available to reproduce the problem.  This appears to occur inside of
cygpath's get_device_name(), a simple ~140 lines function.  Care to
debug it yourself?


Thanks,
Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Project Co-Leader          cygwin AT cygwin DOT com
Red Hat

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

^ permalink raw reply	[flat|nested] 25+ messages in thread

* associating volume labels with drive letters
  2011-07-29 20:16                 ` Corinna Vinschen
  2011-07-30  4:53                   ` Christopher Faylor
  2011-08-06 23:53                   ` pb w/ cygpath -w /dev/sdXY (was Re: Device names in /proc/mounts) Cyrille Lefevre
@ 2012-09-13 16:27                   ` Nellis, Kenneth
  2012-09-26  6:22                     ` Mark O'Keefe
  2 siblings, 1 reply; 25+ messages in thread
From: Nellis, Kenneth @ 2012-09-13 16:27 UTC (permalink / raw)
  To: cygwin

From: Corinna Vinschen
On Jul 29 15:34, Schwarz, Konrad wrote:
> > > > Can you answer the following question:
> > > > 
> > > > Given a volume label, how does one figure out where the 
> > > corresponding 
> > > > volume has been mounted into the Cygwin namespace?
> > > 
<snip>
> > In Linux, you can look up the mount point for device /dev/sdXY
> > in /proc/mounts or in the output of mount(8).  Thus, given
> > a volume label, you can figure out where to access the files
> > on the volume.
> > 
> > How do you do that in Cygwin?
> 
> ls /cygdrive.  Insert the disk.  ls /cygdrive again.  There's a new
> directory entry now.
> 
> Or, open the "Computer" Window on your desktop.

Dredging up an old thread
(http://sourceware.org/ml/cygwin/2011-07/msg00390.html)...

Regarding Corinna's last suggestion, it seems to me that if 
Windows can associate a volume label with a drive letter, 
there must be a way to script this association, whether 
using Cygwin shell commands directly or indirectly through 
DOS commands.

Using blkid(8), from the util-linux package, I can get a device 
name from a label:

$ blkid -L CRUZER
/dev/sdc1

Now, if I'm on the right path, how can I associate that 
block-special file with a drive letter or a /cygdrive/x 
path reference?

--Ken Nellis

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: associating volume labels with drive letters
  2012-09-13 16:27                   ` associating volume labels with drive letters Nellis, Kenneth
@ 2012-09-26  6:22                     ` Mark O'Keefe
  2012-09-26 13:43                       ` Nellis, Kenneth
  0 siblings, 1 reply; 25+ messages in thread
From: Mark O'Keefe @ 2012-09-26  6:22 UTC (permalink / raw)
  To: Nellis, Kenneth, cygwin


On 14/09/2012, at 12:35 AM, Nellis, Kenneth wrote:

> From: Corinna Vinschen
> On Jul 29 15:34, Schwarz, Konrad wrote:
>>>>> Can you answer the following question:
>>>>> 
>>>>> Given a volume label, how does one figure out where the 
>>>> corresponding 
>>>>> volume has been mounted into the Cygwin namespace?
>>>> 
> <snip>
>>> In Linux, you can look up the mount point for device /dev/sdXY
>>> in /proc/mounts or in the output of mount(8).  Thus, given
>>> a volume label, you can figure out where to access the files
>>> on the volume.
>>> 
>>> How do you do that in Cygwin?
>> 
>> ls /cygdrive.  Insert the disk.  ls /cygdrive again.  There's a new
>> directory entry now.
>> 
>> Or, open the "Computer" Window on your desktop.
> 
> Dredging up an old thread
> (http://sourceware.org/ml/cygwin/2011-07/msg00390.html)...
> 
> Regarding Corinna's last suggestion, it seems to me that if 
> Windows can associate a volume label with a drive letter, 
> there must be a way to script this association, whether 
> using Cygwin shell commands directly or indirectly through 
> DOS commands.
> 
> Using blkid(8), from the util-linux package, I can get a device 
> name from a label:
> 
> $ blkid -L CRUZER
> /dev/sdc1
> 
> Now, if I'm on the right path, how can I associate that 
> block-special file with a drive letter or a /cygdrive/x 
> path reference?
> 
> --Ken Nellis

Hi,

Here is a perl script which I believe should do the trick.

It adds:  (for example)
  DRIVE="C:"
to the end of the blkid output where the drive letter matches the correct drive location.

Along the same lines I've also played around with a customised version of cygwin that allows the mount
command to use UUID's to identify the drive letter instead of hard coding into fstab.  This would be useful
if you wanted specific drives to be mounted to specific locations without dependence on the drive letter.

I haven't extensively tested this, just quickly put it together to give you the idea.

------------ cut -------------
#!/usr/bin/perl
 
use strict;
use Cwd 'abs_path';
 
# no buffer
$| = 1;
 
my %drives;
for (my $i = 0; $i < 26; $i++)
{
                my $chr = chr(ord('A') + $i);
                my $str = sprintf ("/proc/sys/GLOBAL\?\?/$chr:");
                if (-l $str)
                {
                                my $path = abs_path ($str);
                                $drives{"$path"} = "$chr";
                }
}
 
open (BLKID, "blkid |") or die "Failed: $!";
while (<BLKID>)
{
                chomp;
                my $line = $_;
                my $drive;
 
                # Print the blkid line.
                printf ("%s", $line);
 
                # Deal with harddisk case.
                if (s|(^/dev/sd)([a-z]*)([0-9]*):.*$|$1$2$3|)
                {
                                # Convert to cygwin device.
                                my $disk = ord(substr($2, 0, 1)) - ord('a');
                                if (length($2) == 2)
                                {
                                                $disk = ($disk + 1) * 26 + (ord(substr($2, 1, 1)) - ord('a'));
                                }
 
                                my $partition = ord(substr($3, 0, 1)) - ord('0');
                                if (length($3) == 2)
                                {
                                                $partition = ($partition * 10) + (ord(substr($3, 1, 1)) - ord('0'));
                                }
 
                                my $path = abs_path("/proc/sys/Device/harddisk${disk}/partition${partition}");
                                $drive = $drives{$path};
                                printf (" DRIVE=\"%s:\"\n", $drive);
                }
}
------------ cut -------------

Cheers,
Mark.

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

^ permalink raw reply	[flat|nested] 25+ messages in thread

* RE: associating volume labels with drive letters
  2012-09-26  6:22                     ` Mark O'Keefe
@ 2012-09-26 13:43                       ` Nellis, Kenneth
  2012-10-19 18:45                         ` Nellis, Kenneth
  0 siblings, 1 reply; 25+ messages in thread
From: Nellis, Kenneth @ 2012-09-26 13:43 UTC (permalink / raw)
  To: cygwin

From: Mark O'Keefe
> Hi,
>
> Here is a perl script which I believe should do the trick.
>
> It adds:  (for example)
>   DRIVE="C:"
> to the end of the blkid output where the drive letter matches the correct drive location.
>
> Along the same lines I've also played around with a customised version of cygwin that allows the mount
> command to use UUID's to identify the drive letter instead of hard coding into fstab.  This would be useful
> if you wanted specific drives to be mounted to specific locations without dependence on the drive letter.
>
> I haven't extensively tested this, just quickly put it together to give you the idea.
<snip>

Thanx, Mark. Works great!
--Ken Nellis

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

^ permalink raw reply	[flat|nested] 25+ messages in thread

* RE: associating volume labels with drive letters
  2012-09-26 13:43                       ` Nellis, Kenneth
@ 2012-10-19 18:45                         ` Nellis, Kenneth
  2012-10-19 18:52                           ` Corinna Vinschen
  0 siblings, 1 reply; 25+ messages in thread
From: Nellis, Kenneth @ 2012-10-19 18:45 UTC (permalink / raw)
  To: cygwin

-----Original Message-----
From: Nellis, Kenneth
From: Mark O'Keefe
> Hi,
>
> Here is a perl script which I believe should do the trick.
>
> It adds:  (for example)
>   DRIVE="C:"
> to the end of the blkid output where the drive letter matches the correct drive location.
>
> Along the same lines I've also played around with a customised version of cygwin that allows the mount
> command to use UUID's to identify the drive letter instead of hard coding into fstab.  This would be useful
> if you wanted specific drives to be mounted to specific locations without dependence on the drive letter.
>
> I haven't extensively tested this, just quickly put it together to give you the idea.
<snip>

Thanx, Mark. Works great!
--Ken Nellis
-----END Original Message-----

The following bash command line provides another way to learn the 
drive letter associated with a given label, in this case the drive 
labeled "CRUZER":

$ echo -e "list volume\nexit" | diskpart | awk '/CRUZER/ {print $3}'
G
$

--Ken Nellis

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

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: associating volume labels with drive letters
  2012-10-19 18:45                         ` Nellis, Kenneth
@ 2012-10-19 18:52                           ` Corinna Vinschen
  0 siblings, 0 replies; 25+ messages in thread
From: Corinna Vinschen @ 2012-10-19 18:52 UTC (permalink / raw)
  To: cygwin

On Oct 19 18:45, Nellis, Kenneth wrote:
> -----Original Message-----
> From: Nellis, Kenneth
> From: Mark O'Keefe
> > Hi,
> >
> > Here is a perl script which I believe should do the trick.
> >
> > It adds:  (for example)
> >   DRIVE="C:"
> > to the end of the blkid output where the drive letter matches the correct drive location.
> >
> > Along the same lines I've also played around with a customised version of cygwin that allows the mount
> > command to use UUID's to identify the drive letter instead of hard coding into fstab.  This would be useful
> > if you wanted specific drives to be mounted to specific locations without dependence on the drive letter.
> >
> > I haven't extensively tested this, just quickly put it together to give you the idea.
> <snip>
> 
> Thanx, Mark. Works great!
> --Ken Nellis
> -----END Original Message-----
> 
> The following bash command line provides another way to learn the 
> drive letter associated with a given label, in this case the drive 
> labeled "CRUZER":
> 
> $ echo -e "list volume\nexit" | diskpart | awk '/CRUZER/ {print $3}'

Better make that /bin/echo.  The tcsh echo works slightly different
than bash's version...


Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Project Co-Leader          cygwin AT cygwin DOT com
Red Hat

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

^ permalink raw reply	[flat|nested] 25+ messages in thread

end of thread, other threads:[~2012-10-19 18:52 UTC | newest]

Thread overview: 25+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-07-25 12:30 Device names in /proc/mounts Schwarz, Konrad
2011-07-25 14:01 ` Corinna Vinschen
2011-07-27  8:15   ` Schwarz, Konrad
2011-07-27  8:35   ` Schwarz, Konrad
2011-07-27  9:41     ` Corinna Vinschen
2011-07-27 11:19       ` Christopher Faylor
2011-07-28  8:18       ` Schwarz, Konrad
2011-07-28 11:22         ` Christopher Faylor
2011-07-29  7:46           ` Schwarz, Konrad
2011-07-29  9:21             ` Corinna Vinschen
2011-07-29 13:34               ` Schwarz, Konrad
2011-07-29 20:16                 ` Corinna Vinschen
2011-07-30  4:53                   ` Christopher Faylor
2011-07-30  8:18                     ` Corinna Vinschen
2011-08-01 13:10                       ` Nellis, Kenneth
2011-08-01 13:22                         ` Christopher Faylor
2011-08-06 23:53                   ` pb w/ cygpath -w /dev/sdXY (was Re: Device names in /proc/mounts) Cyrille Lefevre
2011-08-07 11:38                     ` Corinna Vinschen
2012-09-13 16:27                   ` associating volume labels with drive letters Nellis, Kenneth
2012-09-26  6:22                     ` Mark O'Keefe
2012-09-26 13:43                       ` Nellis, Kenneth
2012-10-19 18:45                         ` Nellis, Kenneth
2012-10-19 18:52                           ` Corinna Vinschen
2011-07-29 21:28                 ` Device names in /proc/mounts Buchbinder, Barry (NIH/NIAID) [E]
2011-07-25 15:07 ` Christopher Faylor

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).