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: Seems like treatment of NTFS ADS (foo:bar) changed between 1.5 and 1.7 but not mentioned in What's Changed


Corinna Vinschen wrote:
On Nov 16 13:32, Andy Koppe wrote:
2009/11/16 Thomas Wolff:
But with it being supported, "foo:bar" *is* a POSIX filename and can quite
transparently be handled like a file
If you create a file called "foo:bar" in Cygwin 1.5, a directory
listing will actually show a file called "foo" of size 0. You have to
already know that "foo:bar" exists to access it, and there's no way in
Cygwin to find those files.

Furthermore, if you delete the file "foo", you'll also delete
"foo:bar" and any other ADSs of "foo". Again, something that POSIX
programs don't expect.

Or, just for kicks, try to create a file "abc:def:ghi" under 1.5 or,
FWIW, under CMD.
Well, I wanted to withdraw my arguments when I read this but then I simply tried in 1.5 and it worked quite well...
Of course Andy is right and directory handling would have to be tweaked to gain maximum consistence with POSIX, e.g. removing the base file might have to leave a dummy empty base file if there are forks...


Isn't one of the goals of cygwin to provide a mostly POSIX-like gateway to Windows resources and isn't quite a lot of effort being put to this aim about some other features, e.g. the weird security stuff? I think ADS sounds easier and more worth some effort, also considering NTFS is not the only file system with this kind of feature (e.g. Mac forks).

Kind regards,
Thomas

Moreover, this transparent mapping would also solve the copy/backup problem
discussed in the other thread (was it "rsync"?) and actually all problems at
once, like including these things in zip archives etc.
Zip would never know about the ADSs, because they don't show up in
directory listings. Same in cmd.exe, btw.

I guess they could be included in Cygwin directory listings, but
- It would be a chunky piece of work to implement it.
- It would slow down directory operations.
- Non-POSIX behaviours would remain: creating "foo:bar" would create
an empty "foo" and deleting "foo" would also delete "foo:bar" and any
other ADSs.

I think they'd need a special API if they were to be supported. Do
they fit into the xattr stuff?

No, xattrs and ADS are entirely different beasts.



Corinna




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