DESC uml: use always a separate io thread for UBD EDESC From: blaisorblade_spam@yahoo.it Currently, ubd=sync is different from replacing ubd#= with ubd#s=. This is against Principle of Least Surprise, so remove this difference. Also the current ubd=sync behaviour is completely useless: it is to make sure that when the kernel has synched its I/O to the virtual disk, the host does not invalidate this with his caching; this causes ReiserFS corruption. But since actually we call end_request() only after the io_thread has done its work, we never lie to the block layer. Using O_SYNC as we do when replacing ubd#= with ubd#s= is enough. Also merged uml-ubd-thread-start-fail-well: Correct the failure path in start_io_thread(), to return the correct error code.