diff options
author | BenoƮt Canet <benoit.canet@irqsave.net> | 2014-02-13 17:22:33 +0100 |
---|---|---|
committer | Stefan Hajnoczi <stefanha@redhat.com> | 2014-02-14 18:05:39 +0100 |
commit | 57b6bdf37c64985cf02b8737c550d52759059c9d (patch) | |
tree | 7af75dbbd25f396f1665f479fffb3397b57c9336 /blockdev.c | |
parent | cc67f4d1f9645e8e6d90aee84ca19162d661f082 (diff) |
blockdev: Fix wrong usage of QDECREF causing snapshoted quorum to crash on close.
As bdrv_open() documentation states:
"The reference to the QDict belongs to the block layer
* after the call (even on failure), so if the caller intends to reuse the
* dictionary, it needs to use QINCREF() before calling bdrv_open."
the optional options dict will not be reused after bdrv_open() and should
belong to the block layer so remove the extra QDECREF(options).
Signed-off-by: Benoit Canet <benoit@irqsave.net>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Diffstat (limited to 'blockdev.c')
-rw-r--r-- | blockdev.c | 2 |
1 files changed, 0 insertions, 2 deletions
diff --git a/blockdev.c b/blockdev.c index d5f21f07b7..ccd6a72e92 100644 --- a/blockdev.c +++ b/blockdev.c @@ -1329,8 +1329,6 @@ static void external_snapshot_prepare(BlkTransactionState *common, if (ret != 0) { error_propagate(errp, local_err); } - - QDECREF(options); } static void external_snapshot_commit(BlkTransactionState *common) |