mirror: add 30 second IO timeout