X-Recipient: archive-cygwin AT delorie DOT com X-Spam-Check-By: sourceware.org Date: Thu, 22 Apr 2010 19:51:08 +0200 From: Corinna Vinschen To: cygwin AT cygwin DOT com Subject: Re: PLEASE TEST YOUR FS (was Re: 1.7.1: cvs version built in is unstable) Message-ID: <20100422175108.GM1845@calimero.vinschen.de> Reply-To: cygwin AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com References: <4BBBDA78 DOT 10002 AT cwilson DOT fastmail DOT fm> <20100407083403 DOT GD27428 AT calimero DOT vinschen DOT de> <20100407085343 DOT GY18530 AT calimero DOT vinschen DOT de> <20100407170643 DOT GF18530 AT calimero DOT vinschen DOT de> <20100407172659 DOT GH18530 AT calimero DOT vinschen DOT de> <20100422094145 DOT GF1845 AT calimero DOT vinschen DOT de> <8CCC8F85C5F2784387A32FAD835FB4E602DBF139B5 AT server03> <20100422121213 DOT GG1845 AT calimero DOT vinschen DOT de> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <20100422121213.GG1845@calimero.vinschen.de> User-Agent: Mutt/1.5.20 (2009-06-14) Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , 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 Apr 22 14:12, Corinna Vinschen wrote: > On Apr 22 13:44, DEWI - N. Zacharias wrote: > > > > Hi Corinna, > > > > please have a look at the attachment. > > Thank you. Oh well. When trying to open the file to check for its > existance, the NT status code is STATUS_OBJECT_NAME_NOT_FOUND which is > equivalent to the POSIX errno ENOENT, "No such file or directory". > > Only afterwards, when trying to create the file, the status code is > STATUS_OBJECT_NAME_INVALID. Too late for Cygwin. > > That's tragic. I've just applied a patch which is supposed to fix this problem. The core component which evaluates a file and performs basic checks now handles the case STATUS_OBJECT_NAME_NOT_FOUND specially. It checks if the filename has leading spaces and/or trailing dots and spaces. If so, it checks the filesystem. If it's one of the known FSes with broken (aka DOS-only) path handling, it removes the offending leading spaces and trailing dots and spaces and tries again. So this: $ touch " abc ... " will create the file " abc ... " for instance on NTFS or FAT, but it will create the file "abc" on NetApp, NWFS and other filesystems recognized as CIFS (but not Samba). This behaviour is equivalent to the behaviour in native Win32 applications and in Cygwin 1.5. While I tested the patch, I had to fake a detail to make it work on NTFS. I have no access to one of the broken filesystems myself, so a bit of testing under real-life conditions would be quite helpful. So I'd like to urge all users who could reproduce the aforementioned problems to test the *next* Cygwin DLL from the Cygwin Developer Snapshots URL http://cygwin.com/snapshots/ and report back if it works or if it doesn't. *If* it doesn't work, please report the FS and describe the scenario. Oh, hey, the cvs problem which started this thread would be quite a nice test. Thanks in advance, 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