mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2025-01-20 15:58:06 +07:00
xen/blkback: fix xenbus_transaction_start() hang caused by double xenbus_transaction_end()
vbd_resize() up_read()'s xs_state.suspend_mutex twice in a row via double xenbus_transaction_end() calls. The next down_read() in xenbus_transaction_start() (at eg. the next resize attempt) hangs. Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=618317 Acked-by: Jan Beulich <jbeulich@novell.com> Acked-by: Ian Campbell <ian.campbell@citrix.com> Signed-off-by: Laszlo Ersek <lersek@redhat.com> Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
This commit is contained in:
parent
5185432277
commit
496b318eb6
@ -226,6 +226,7 @@ static void xen_vbd_resize(struct xen_blkif *blkif)
|
||||
goto again;
|
||||
if (err)
|
||||
pr_warn(DRV_PFX "Error ending transaction");
|
||||
return;
|
||||
abort:
|
||||
xenbus_transaction_end(xbt, 1);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user