From: Kevin Wolf Date: Wed, 29 Jun 2016 15:38:57 +0000 (+0200) Subject: commit: Fix use of error handling policy X-Git-Tag: qemu-xen-4.8.0-rc1~117^2~4 X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=1e8fb7f1ee1ba902ab06cb8d54eca006c3b45f42;p=qemu-xen.git commit: Fix use of error handling policy Commit implemented the 'enospc' policy as 'ignore' if the error was not ENOSPC. The QAPI documentation promises that it's treated as 'stop'. Using the common block job error handling function fixes this and also adds the missing QMP event. Signed-off-by: Kevin Wolf Reviewed-by: Max Reitz --- diff --git a/block/commit.c b/block/commit.c index 8b534d7c95..5d11eb6103 100644 --- a/block/commit.c +++ b/block/commit.c @@ -171,9 +171,9 @@ wait: bytes_written += n * BDRV_SECTOR_SIZE; } if (ret < 0) { - if (s->on_error == BLOCKDEV_ON_ERROR_STOP || - s->on_error == BLOCKDEV_ON_ERROR_REPORT|| - (s->on_error == BLOCKDEV_ON_ERROR_ENOSPC && ret == -ENOSPC)) { + BlockErrorAction action = + block_job_error_action(&s->common, false, s->on_error, -ret); + if (action == BLOCK_ERROR_ACTION_REPORT) { goto out; } else { n = 0;