Hilko Bengen wrote:
> * Richard W.M. Jones:
>
>> The problem is not really with this particular image.  It's not that
>> we need to recover files from it or anything like that.  The problems
>> are:
>>
>>   - How did this situation arise in the first place?
>>
>>   - Could it happen again for other Windows guests.
>
> I haven't looked into ntfs-3g codebase in a while, but IIRC one would
> get utf16->utf8 conversion errors when trying to convert broken
> surrogate characters.
>
> You should be able to reproduce this by using CreateFileW() to produce a
> file name like "foo\ud800bar\udc00bar"in Windows. Unless that API has
> learned about surrogate characters since Windows XP -- in that case,
> NtCreateFile may still work.

IMHO this is not wrong.

Posix says a file name is a sequence of bytes with no
'/' or '\0'.

Similarly Windows says a file name is a sequence of
16-bit words without (a longer list of) forbidden chars.
As a consequence chkdsk should not react to bad
surrogate pairs.

At the file system level, there is no concept of locale
or character encodings. This is only needed when you
need a font for displaying or printing text.

However ntfs-3g wants the same text to be displayed for
the same file on Windows and Linux, so it has to translate
according to upper level conventions on both sides.

Regards

Jean-Pierre


------------------------------------------------------------------------------
_______________________________________________
ntfs-3g-devel mailing list
ntfs-3g-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ntfs-3g-devel

Reply via email to