On Mon, Aug 02, 2021 at 14:20:44 +0200, Vojtech Juranek wrote: > Hi, > as a follow-up of BZ #1883399 [1], we are reviewing vdsm VM migration flows and > solve few follow-up bugs, e.g. BZ #1981079 [2]. I have couple of questions > related to libvirt: > > * if we run disk extend during migration, it can happen that migration finishes > sooner than disk extend. In such case we will try to set disk threshold on > already stopped VM (we handle libvirt event that VM was stopper, but due to > Python GIL there can be a delay between obtaining appropriate signal from > libvirt and handling it). In such case we get libvirt > VIR_ERR_OPERATION_INVALID when setting disk threshold. Is it safe to > catch this exception and ignore it or it's thrown for various reasons and the > root cause can be something else than stopped VM? The API to set the block trheshold level can return the following errors including cases when it can happen: VIR_ERR_OPERATION_UNSUPPORTED <- unlikely new qemu supports it VIR_ERR_INVALID_ARG <- disk was not found in VM definition VIR_ERR_INTERNAL_ERROR <- on error from qemu Thus VIR_ERR_OPERATION_INVALID seems to be safe to ignore in your specific case, while not ignoring others can be used to catch problems.