Deadlock on snapshot removal (bdrv_graph_wrlock) Description of problem: VM was hanging during snapshot removal. There was an attempt to shutdown the VM, but that did hang. gdb shows me: ``` (gdb) bt full #0 0x00007f20493427fe in __ppoll (fds=0x557e630718b0, nfds=2, timeout=, sigmask=0x0) at ../sysdeps/unix/sysv/linux/ppoll.c:43 sc_ret = -514 sc_cancel_oldtype = 0 sc_ret = tval = {tv_sec = 139776632323420, tv_nsec = 139776632323432} #1 0x0000557e619cab52 in fdmon_poll_wait.llvm () No symbol table info available. #2 0x0000557e619ca0b6 in aio_poll () No symbol table info available. #3 0x0000557e61801651 in bdrv_graph_wrlock () No symbol table info available. #4 0x0000557e617c873b in bdrv_replace_child_noperm.llvm () No symbol table info available. #5 0x0000557e617c8601 in bdrv_root_unref_child () No symbol table info available. #6 0x0000557e617f6333 in blk_unref () No symbol table info available. #7 0x0000557e6181b0d1 in mirror_exit_common () No symbol table info available. #8 0x0000557e617dbdb4 in job_do_finalize_locked.llvm () No symbol table info available. #9 0x0000557e617dd72b in job_exit () No symbol table info available. #10 0x0000557e619e5101 in aio_bh_poll () No symbol table info available. #11 0x0000557e619c95a4 in aio_dispatch () No symbol table info available. #12 0x0000557e619e655f in aio_ctx_dispatch () No symbol table info available. #13 0x00007f2049546e2f in g_main_dispatch (context=0x557e62ecebd0) at ../glib/gmain.c:3337 dispatch = 0x557e619e6550 prev_source = 0x0 begin_time_nsec = 232172181173336 was_in_call = user_data = 0x0 callback = 0x0 cb_funcs = 0x0 cb_data = 0x0 need_destroy = source = 0x557e62ec73e0 current = 0x557e63e4b600 i = 0 __func__ = { } #14 g_main_context_dispatch (context=0x557e62ecebd0) at ../glib/gmain.c:4055 No locals. #15 0x0000557e619e74be in main_loop_wait () No symbol table info available. #16 0x0000557e615201e7 in qemu_main_loop () No symbol table info available. #17 0x0000557e61374c6a in qemu_default_main () No symbol table info available. #18 0x00007f204923feb0 in __libc_start_call_main (main=main@entry=0x557e61374c80
, argc=argc@entry=153, argv=argv@entry=0x7ffe07495238) at ../sysdeps/nptl/libc_start_call_main.h:58 self = result = unwind_buf = {cancel_jmp_buf = {{jmp_buf = {0, -6145724763479124305, 140729020666424, 94001285254272, 94001294953808, 139776661151744, 6145708635144279727, 6121919821307926191}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x7f204954cb41 , 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 1230293825}}} not_first_call = #19 0x00007f204923ff60 in __libc_start_main_impl (main=0x557e61374c80
, argc=153, argv=0x7ffe07495238, init=, fini=, rtld_fini=, stack_end=0x7ffe07495228) at ../csu/libc-start.c:389 No locals. #20 0x0000557e613743d5 in _start () No symbol table info available. ``` Steps to reproduce: Still trying to reproduce in lab.