diff options
author | Laszlo Ersek <[email protected]> | 2011-05-13 09:45:40 -0400 |
---|---|---|
committer | Konrad Rzeszutek Wilk <[email protected]> | 2011-05-13 09:45:40 -0400 |
commit | 496b318eb65558c1a3a4fe882cb9da6d1dc6493a (patch) | |
tree | 090f1739245a42ef4c147d36e52c3aca557b4dcd | |
parent | 5185432277ddf5bd91ad5af29cd1945f25ed10fc (diff) |
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 <[email protected]>
Acked-by: Ian Campbell <[email protected]>
Signed-off-by: Laszlo Ersek <[email protected]>
Signed-off-by: Konrad Rzeszutek Wilk <[email protected]>
-rw-r--r-- | drivers/block/xen-blkback/blkback.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/block/xen-blkback/blkback.c b/drivers/block/xen-blkback/blkback.c index 9dee5454740f..dba55e3a4a86 100644 --- a/drivers/block/xen-blkback/blkback.c +++ b/drivers/block/xen-blkback/blkback.c @@ -226,6 +226,7 @@ again: goto again; if (err) pr_warn(DRV_PFX "Error ending transaction"); + return; abort: xenbus_transaction_end(xbt, 1); } |