delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2010/04/07/22:17:47

X-Recipient: archive-cygwin AT delorie DOT com
X-SWARE-Spam-Status: No, hits=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,T_TO_NO_BRKTS_FREEMAIL
X-Spam-Check-By: sourceware.org
Message-ID: <4BBD3CA9.1090609@gmail.com>
Date: Wed, 07 Apr 2010 20:17:13 -0600
From: Morgan Gangwere <0 DOT fractalus AT gmail DOT com>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.9) Gecko/20100317 Thunderbird/3.0.4
MIME-Version: 1.0
To: cygwin AT cygwin DOT com
Subject: Filesystem Filename touch fail [ was: PLEASE TEST YOUR FS ]
References: <1270678042 DOT 14260 DOT 1368807709 AT webmail DOT messagingengine DOT com>
In-Reply-To: <1270678042.14260.1368807709@webmail.messagingengine.com>
X-IsSubscribed: yes
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com

On 4/7/2010 4:07 PM, Charles Wilson wrote:
> MVFS (ClearCase dynamic view) seems to work fine with both "foo." and "
> foo "
Thats because it's a virtual file system. IBM can say whatever it wants 
defines a filename.

[...]
 > One is a simple shared NTFS drive, I think (volinfo-1.txt). The other is
 > a weird distributed filesystem of some kind (volinfo-2.txt).

Both are NTFS unless one is not.

> $ touch foo.
> touch: cannot touch `foo.': No such file or directory

> $ touch " foo "
> touch: cannot touch ` foo ': No such file or directory

Both of those are invalid under NTFS FS specifications:
"Filenames may contain any character other than NULL (0x0000) but may 
not contain a space (ASCII 0x20, ' ') or period ('.')"

Windows in kernel-space defines this restriction (as defined by Wikipedia):
"""
	Microsoft Windows: Windows kernel forbids the use of characters in 
range 1-31 (i.e., 0x01-0x1F) and characters " * : < > ? \ / |. Although 
NTFS allows each path component (directory or filename) to be 255 
characters long and paths up to about 32767 characters long, the Windows 
kernel only supports paths up to 259 characters long if no UNC is used 
for addressing. Additionally, Windows forbids the use of the MS-DOS 
device names AUX, CLOCK$, COM1, COM2, COM3, COM4, COM5, COM6, COM7, 
COM8, COM9, CON, LPT1, LPT2, LPT3, LPT4, LPT5, LPT6, LPT7, LPT8, LPT9, 
NUL and PRN, as well as these names with any extension (for example, 
AUX.txt), except when using Long UNC paths (ex. \\.\C:\nul.txt or 
\\?\D:\aux\con). (In fact, CLOCK$ may be used if an extension is 
provided.) These restrictions only apply to Windows - Linux, for 
example, allows use of " * : < > ? \ / | even in NTFS.

"""


Since 'touch foo.' would result in doing an fileopen("foo.") this would 
be considered "bad" by Windows AND Linux ( I mounted an NTFS Partition 
and tried 'touch foo.' and was denied it)

-- 

Morgan Gangwere

 >> Why?
 > Because it breaks the logical flow of conversation, plus makes 
messages unreadable.
 >>> Top-Posting is evil.

--
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

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019