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