This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Filesystem Filename touch fail [ was: PLEASE TEST YOUR FS ]


On Wed, 7 Apr 2010, Morgan Gangwere wrote:
On 4/7/2010 4:07 PM, Charles Wilson wrote:
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 ('.')"

Where did you get that sentence?! Googling found nothing but your e-mail message. That can't possibly be true for NTFS. NTFS takes spaces in directories (C:\Program Files\) and filenames (...\Budget 2009.doc) perfectly well. On a Windows XP system, I just created a file named "C:\download\MySQL\foo bar.baz.txt" just fine: created in Explorer, edited in Notepad, typed in CMD.

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 " * : < >
? \ / |.  ...These restrictions only apply to Windows - Linux, for
example, allows use of " * : < > ? \ / | even in NTFS.

Though / cannot be used in _filenames_ in Linux -- it's always a directory delimiter.

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)

In Linux using a Linux filesystem, it doesn't care in the slightest about periods. In Windows in CMD and Explorer, an attempt to rename "C:\download\MySQL\foo bar baz" to "C:\download\MySQL\foo bar baz." simply caused the trailing "." to be ignored.

--
Tim McDaniel, tmcd@panix.com

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]