A user of my program 'virt-v2v' is unable to convert their Windows
Server 2003 guest.  Apparently the Windows guest contains a malformed
filename in C:\Windows\System32 which causes ntfs-3g to error when
reading this directory.  Anything that accesses this directory
(eg. 'ls' or my program that uses readdir) fails with:

  ls: reading directory /sysroot/WINDOWS/system32: Invalid or incomplete 
multibyte or wide character

(This is errno EILSEQ).

Under Windows itself, the directory appears normal -- it is able to be
listed and so on.  There are two files with non-ASCII characters, but
deleting both of them (using Windows) did not change the problem with
ntfs-3g.

I am not able to get a copy of the broken disk image, because it's
130GB in size.

But I did manage to create a broken filesystem that behaves in a
similar manner.  I did that by hexediting a NTFS disk image to add an
illegal UCS-2 character (U+DF00) to a filename.  You can get that disk
image by downloading the attachment here:

  https://bugzilla.redhat.com/show_bug.cgi?id=1301593#c6

As far as I know, the real broken disk image was NOT created by
hexediting or otherwise hacking the filesystem, but by some ordinary
process on Windows (not yet understood nor reproduced).

My question then is can we somehow ignore these files?

Also, how does the locale setting affect ntfs-3g?  Does it use the
locale?  Would a different LC_ALL setting affect how ntfs-3g might
process a broken UCS-2 character?  (I tried several LC_ALL settings,
but with no apparent effect).

Because of the complexity of virt-v2v and the number of places where
we want to read C:\Windows\System32 (including from external
programs), working around this in our software is going to be
difficult.

Rich.

-- 
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
virt-df lists disk usage of guests without needing to install any
software inside the virtual machine.  Supports Linux and Windows.
http://people.redhat.com/~rjones/virt-df/

------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=267308311&iu=/4140
_______________________________________________
ntfs-3g-devel mailing list
ntfs-3g-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ntfs-3g-devel

Reply via email to