Hi Barry,

Thank you for the email and patch.

Could you, or somebody else, please do the following test to decide 
how we should progress?

Create 254 files using the unpatched driver which file names are single 
character ASCII(i) where i=1,...,46,48,...255 then run CHKDSK and tell 
us all the file names CHKDSK finds to be incorrect. The log of the CHKDSK 
session can be viewed and copy-pasted this way:

        http://en.wikipedia.org/wiki/Chkdsk#Viewing_results

We do have known problems with the conversion and these all should be fixed 
at the same time. 

Bernhard Kaindl has just implemented a new converter recently, in case 
you're interested in the current development addressing the conversion 
problems:

        http://thread.gmane.org/gmane.comp.file-systems.ntfs-3g.devel/447

Regards,
            Szaka


On Wed, 12 Mar 2008, Barry Kelly wrote:

> The problem:
> 
> NTFS-3G writes filenames containing '?' differently to how NT itself
> handles filenames containing '?'.
> 
> Details:
> 
> When using the POSIX subsystem, now known as Interix or Services for
> Unix (SFU), files with '?' (0x3F) in the name are silently converted to
> use the private area Unicode character 0xF03F.
> 
> When a file containing a '?' (0x3F) created by NTFS-3G are manipulated
> from Windows, even using the POSIX subsystem, they cannot be "found".
> 
> Solution:
> 
> I suggest that, in the interest of compatibility, NTFS-3G follows the NT
> POSIX convention and silently transforms 0x3F to and from 0xF03F.
> 
> Rationale:
> 
> The alternative is that files created by NTFS-3G are in no way
> accessible or even deletable from NT, as it appears that the kernel
> doesn't support '?' in file names. I hope it's obvious that that
> alternative isn't very desirable.
> 
> Patch:
> 
> I've attached a patch to the latest CVS sources from sf.net which does
> exactly that, using 'cvs diff -u3'. The simple idea behind the patch is
> that during MB->UCS-2 and UCS-2->MB conversions, 0x3F is replaced with
> 0xF03F and vice versa. The invariant that should apply is that data
> referenced with type ntfschar* should never contain 0x3F, and contain
> 0xF03F instead.
> 
> Any further suggestions on how to proceed appreciated.
> 
> -- Barry
> 
> -- 
> http://barrkel.blogspot.com/
> 

--
NTFS-3G:  http://ntfs-3g.org


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