From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 85191 invoked by alias); 9 Mar 2017 04:17:30 -0000 Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner@cygwin.com Mail-Followup-To: cygwin@cygwin.com Received: (qmail 85160 invoked by uid 89); 9 Mar 2017 04:17:28 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-4.9 required=5.0 tests=BAYES_00,GIT_PATCH_2,LOTS_OF_MONEY,RP_MATCHES_RCVD autolearn=ham version=3.3.2 spammy=binaryauto, system32, System32, binary,auto X-HELO: Ishtar.sc.tlinx.org Received: from ishtar.tlinx.org (HELO Ishtar.sc.tlinx.org) (173.164.175.65) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Thu, 09 Mar 2017 04:17:12 +0000 Received: from [192.168.3.12] (Athenae [192.168.3.12]) by Ishtar.sc.tlinx.org (8.14.7/8.14.4/SuSE Linux 0.8) with ESMTP id v294H8vi046343 for ; Wed, 8 Mar 2017 20:17:11 -0800 Message-ID: <58C0D744.2030005@tlinx.org> Date: Thu, 09 Mar 2017 04:17:00 -0000 From: "L. A. Walsh" User-Agent: Thunderbird MIME-Version: 1.0 To: cygwin@cygwin.com Subject: Treating Junctions consistently, as "normal dirs" as w/linux "bind"-type mount References: <58A4741E.5020408@gmail.com> <20170216092611.GE3889@calimero.vinschen.de> <58B0AA58.30504@tlinx.org> <20170228214321.GB13542@calimero.vinschen.de> In-Reply-To: <20170228214321.GB13542@calimero.vinschen.de> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-IsSubscribed: yes X-SW-Source: 2017-03/txt/msg00111.txt.bz2 Didn't see a response to this, so reposting, as this would provide a needed vol and subdir mount facility as exists on linux... Especially, since there was a misunderstanding of what was needed or wanted w/regards to the JUNCTION file-system mounts in Windows. Didn't need mount table updated, just needed it to look like a normal mount (as 1 of the 2 junction usages already does). So it's just a matter of making the other junction type w/a path be treated as a normal dir instead of a symlink. As it is now, it's inconsistent with junctions created with mountvol being different from junctions created with linkd. Symlink(D)s would stay as they are now and provide the symlink functionality. Original note: Corinna Vinschen wrote: > >> They >> half-way work under Cygwin (junctions to volumes look like >> mounted file systems look under linux, but junctions to >> pathnames get converted by cygwin to symlinks -- losing >> information when such junctions are restored. >> >> Corinna -- could you _please_ re-look at supporting both >> types of junctions as mount points? Then Cygwin could have >> "mount-parity" with linux! ;-) >> > > That's not easily possible. Mount points in Cygwin are virtual entries > stored in the per-user session, in-memory mount table. --- Ahh.. you are making it more complicated than what I'm asking! (yey! this should be simpler)... If I have a junction to the root of another volume, in cygwin it looks like a normal directory: Using mountvol... C:\>mountvol mountedVol \\?\Volume{578b2172-f917-11e4-b3d9-a0369f15ce28} 03/02/2017 01:24 PM mountedVol [\??\Volume{578b2172-f917-11e4-b3d9-a0369f15ce28}\] 01/11/2017 04:17 PM var [C:\Windows\System32\cygwin\var] ### a junction is created ... under Cygwin. Note, BTW, that 'var' is also a JUNCTION (a MS-mount point). C:\>exit exit /> ll total 100672654 drwxrwx---+ 1 0 Nov 20 2010 $RECYCLE.BIN/ ... drwxrwx---+ 1 0 May 15 2015 mountedVol/ lrwxrwxrwx 1 28 Jan 11 16:17 var -> /Windows/System32/cygwin/var/ /> ls mountedVol $RECYCLE.BIN/ System Volume Information/ ### mountedVol looks like a normal directory ^^^, but 'var' shows ### as a symlink. That's the problem I'm referring to. I'm saying ### JUNCTIONs (MS-mountpoints) should show up as the 'same' in ### Cygwin -- i.e. -- ### But is not necessary that it be shown in Cygwin's "mount table": /> mount C:/bin on /usr/bin type ntfs (binary,auto) C:/lib on /usr/lib type ntfs (binary,auto) C: on / type ntfs (binary,auto) B: on /b type smbfs (binary,user,noumount,auto) ... ---- It's the same on linux. linux> stat -c %D /var 822 linux> sudo mount --rbind /var/rtmp /tmp linux> stat -c %D /tmp 822 ---- A mount from the same fs to another place on the same fs, looks like a normal directory (not a symlink). This is the behavior I would want for 'JUNCTION's under Cygwin. On Windows, mklink creates a 'SYMLINK' or 'SYMLINKD' when directories are linked. Those would stay as "Symlinks". -- 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