About a month ago, I reported trouble when copying large files from the
UML system to its host via UML's virtual serial port. I've now found a
way to work around this problem; however, I still believe there may be a
bug in UML, so here's my report, hoping it may be useful someday.
The trouble occurs when a host file descriptor which is opened from bash
for reading and writing ('exec 8<>filename') is attached to a UML serial
port using the 'ssl1=fd:8' UML command line syntax. The write from the
UML environment ('stty -F /dev/tts/1 raw; cp /large/file /dev/tts/1')
fails with an I/O error after some random, but relatively small, number
of bytes have been written.
The problem does not occur when the host file is opened in write-only
mode ('exec 8>filename'). It has been around since at least
2.4.18-30um, and is still there in 2.4.18-35um. As far as I know, it is
not in 2.4.18-21um or earlier.