Hi, I confirmed it works. Thank you.
Regards, Kazu Sent: Tuesday, September 05, 2006 8:57 AM Roger Lathrop wrote: > Attached patch fixes 3 issues I found while trying to write files from guest > to a vfat drive using this configuration: > Host: Windows XP (NTFS) > Guest: DOS 5 (yeah, really!) > Compiler: gcc version 3.4.2 (mingw-special) > Qemu Version: 0.8.2 > Command line: qemu ....-hdb fat:rw:c:\dev\qemu\work... > > Problem: Qemu would fault when copying files from guest to d:\ > > Changes: > > 1) Fixed assert macro for mingw. Original causes spurious faults when > there's a dangling else after the assert. > 2) Added O_BINARY to open call in commit_one_file(). Without it, binary > files get LF-->CR/LF translations on Windows. > 3) Changed sector2cluster to return a signed int, and added type casts to > force the division to be signed. > > First 2 changes are straight forward and should be safe. 3'rd solved my > problem, but should be looked at by someone who understands vvfat better > than me. I've only tested on the above configuration. > The problem I saw was DOS writing to sectors less than s->faked_sectors. The > unsigned divide returned a large positive number, which would fault in this > bit of code in vvfat_write: > if (i >= 0) > s->used_clusters[i] |= USED_ALLOCATED; > > This fix seems reasonable, since the callers of sector2cluster seem to > expect a signed result. I suppose an alternate fix would be to test for the > special case and always return -1. But I hate special cases ;-) > > Patch is against 0.8.2, not current CVS, sorry. Doesn't appear to have been > fixed since 0.8.2 > > Good to have this working. Our app is an embedded system with really crude > (read, no TCP/IP) network support. Until now, getting log files off the > guest has been a pain. So, a big THANKS to whoever wrote block-vvfat, > despite the little buglets. > > Roger _______________________________________________ Qemu-devel mailing list Qemu-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/qemu-devel