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: PLEASE TEST YOUR FS (was Re: 1.7.1: cvs version built in is unstable)


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


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