> > I'll get on that end too.
> 
> Please do and let us know, thanks. I honestly hope you're wrong otherwise 
> things would get inconsistent. 

I hope you all got the forwarded email. I did a little more
investigation, and it looks that for most of the problematic characters,
the NT POSIX subsystem ORs in 0xF000, taking advantage of that private
area. Some characters are still invalid using the POSIX subsystem,
though: 

---8<---
./mkoddnames[37]: cannot create 034_"_: No such file or directory
./mkoddnames[50]: cannot create 047_/_: No such file or directory
./mkoddnames[63]: cannot create 060_<_: No such file or directory
./mkoddnames[65]: cannot create 062_>_: No such file or directory
./mkoddnames[95]: cannot create 092_\_: No such file or directory
--->8---

The translated characters (pasted as a quote to avoid autowrap in my
mailer):

---8<---
|> '.\001_?_': '.':002E '\':005C '0':0030 '0':0030 '1':0031 '_':005F '?':F001 
'_':005F 
|> '.\002_?_': '.':002E '\':005C '0':0030 '0':0030 '2':0032 '_':005F '?':F002 
'_':005F 
|> '.\003_?_': '.':002E '\':005C '0':0030 '0':0030 '3':0033 '_':005F '?':F003 
'_':005F 
|> '.\004_?_': '.':002E '\':005C '0':0030 '0':0030 '4':0034 '_':005F '?':F004 
'_':005F 
|> '.\005_?_': '.':002E '\':005C '0':0030 '0':0030 '5':0035 '_':005F '?':F005 
'_':005F 
|> '.\006_?_': '.':002E '\':005C '0':0030 '0':0030 '6':0036 '_':005F '?':F006 
'_':005F 
|> '.\007_?_': '.':002E '\':005C '0':0030 '0':0030 '7':0037 '_':005F '?':F007 
'_':005F 
|> '.\008_?_': '.':002E '\':005C '0':0030 '0':0030 '8':0038 '_':005F '?':F008 
'_':005F 
|> '.\009_?_': '.':002E '\':005C '0':0030 '0':0030 '9':0039 '_':005F '?':F009 
'_':005F 
|> '.\010_?_': '.':002E '\':005C '0':0030 '1':0031 '0':0030 '_':005F '?':F00A 
'_':005F 
|> '.\011_?_': '.':002E '\':005C '0':0030 '1':0031 '1':0031 '_':005F '?':F00B 
'_':005F 
|> '.\012_?_': '.':002E '\':005C '0':0030 '1':0031 '2':0032 '_':005F '?':F00C 
'_':005F 
|> '.\013_?_': '.':002E '\':005C '0':0030 '1':0031 '3':0033 '_':005F '?':F00D 
'_':005F 
|> '.\014_?_': '.':002E '\':005C '0':0030 '1':0031 '4':0034 '_':005F '?':F00E 
'_':005F 
|> '.\015_?_': '.':002E '\':005C '0':0030 '1':0031 '5':0035 '_':005F '?':F00F 
'_':005F 
|> '.\016_?_': '.':002E '\':005C '0':0030 '1':0031 '6':0036 '_':005F '?':F010 
'_':005F 
|> '.\017_?_': '.':002E '\':005C '0':0030 '1':0031 '7':0037 '_':005F '?':F011 
'_':005F 
|> '.\018_?_': '.':002E '\':005C '0':0030 '1':0031 '8':0038 '_':005F '?':F012 
'_':005F 
|> '.\019_?_': '.':002E '\':005C '0':0030 '1':0031 '9':0039 '_':005F '?':F013 
'_':005F 
|> '.\020_?_': '.':002E '\':005C '0':0030 '2':0032 '0':0030 '_':005F '?':F014 
'_':005F 
|> '.\021_?_': '.':002E '\':005C '0':0030 '2':0032 '1':0031 '_':005F '?':F015 
'_':005F 
|> '.\022_?_': '.':002E '\':005C '0':0030 '2':0032 '2':0032 '_':005F '?':F016 
'_':005F 
|> '.\023_?_': '.':002E '\':005C '0':0030 '2':0032 '3':0033 '_':005F '?':F017 
'_':005F 
|> '.\024_?_': '.':002E '\':005C '0':0030 '2':0032 '4':0034 '_':005F '?':F018 
'_':005F 
|> '.\025_?_': '.':002E '\':005C '0':0030 '2':0032 '5':0035 '_':005F '?':F019 
'_':005F 
|> '.\026_?_': '.':002E '\':005C '0':0030 '2':0032 '6':0036 '_':005F '?':F01A 
'_':005F 
|> '.\027_?_': '.':002E '\':005C '0':0030 '2':0032 '7':0037 '_':005F '?':F01B 
'_':005F 
|> '.\028_?_': '.':002E '\':005C '0':0030 '2':0032 '8':0038 '_':005F '?':F01C 
'_':005F 
|> '.\029_?_': '.':002E '\':005C '0':0030 '2':0032 '9':0039 '_':005F '?':F01D 
'_':005F 
|> '.\030_?_': '.':002E '\':005C '0':0030 '3':0033 '0':0030 '_':005F '?':F01E 
'_':005F 
|> '.\031_?_': '.':002E '\':005C '0':0030 '3':0033 '1':0031 '_':005F '?':F01F 
'_':005F 
|> 
|> '.\042_?_': '.':002E '\':005C '0':0030 '4':0034 '2':0032 '_':005F '?':F02A 
'_':005F 
|> 
|> '.\058_?_': '.':002E '\':005C '0':0030 '5':0035 '8':0038 '_':005F '?':F03A 
'_':005F 
|> 
|> '.\063_?_': '.':002E '\':005C '0':0030 '6':0036 '3':0033 '_':005F '?':F03F 
'_':005F 
|> 
|> '.\124_?_': '.':002E '\':005C '1':0031 '2':0032 '4':0034 '_':005F '?':F07C 
'_':005F 
|> 
|> '.\127_?_': '.':002E '\':005C '1':0031 '2':0032 '7':0037 '_':005F '?':F07F 
'_':005F 
--->8---

The private area characters actually usually end up as disembodied
diacritics when viewed in Windows Explorer, but that's neither here nor
there.

Of course, my original patch doesn't address the issue of backward
compatibility properly. If this problem is to be fixed, that issue will
need careful consideration. Ideally, the FS code shouldn't be in the
business of fixing invalid directory entries as it meets them, and
handling all the backward compatibility in the driver wouldn't be
pleasant. It seems that creating some kind of separate scanning and
fixing solution is more desirable, IMHO.

-- Barry

-- 
http://barrkel.blogspot.com/

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
ntfs-3g-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ntfs-3g-devel

Reply via email to