Thanks, fixed the first two problems.
For the last one, if the copy job timeout, when guest destroy, the job  will never exist, so no need more work to deal with it.