Message ID | 20170303133816.30303-3-famz@redhat.com |
---|---|
State | New |
Headers | show |
Am 03.03.2017 um 14:38 hat Fam Zheng geschrieben: > bdrv_set_backing_hd failure needn't be abort. Since we already have > error parameter, use it. > > Signed-off-by: Fam Zheng <famz@redhat.com> > --- > block/commit.c | 12 ++++++++++-- > 1 file changed, 10 insertions(+), 2 deletions(-) > > diff --git a/block/commit.c b/block/commit.c > index 22a0a4d..1be19e1 100644 > --- a/block/commit.c > +++ b/block/commit.c > @@ -316,8 +316,16 @@ void commit_start(const char *job_id, BlockDriverState *bs, > goto fail; > } > > - bdrv_set_backing_hd(commit_top_bs, top, &error_abort); > - bdrv_set_backing_hd(overlay_bs, commit_top_bs, &error_abort); > + bdrv_set_backing_hd(commit_top_bs, top, &local_err); > + if (local_err) { > + error_propagate(errp, local_err); > + goto fail; > + } > + bdrv_set_backing_hd(overlay_bs, commit_top_bs, &local_err); > + if (local_err) { > + error_propagate(errp, local_err); > + goto fail; > + } In these error paths, bdrv_unref(commit_top_bs) seems to missing. Kevin
diff --git a/block/commit.c b/block/commit.c index 22a0a4d..1be19e1 100644 --- a/block/commit.c +++ b/block/commit.c @@ -316,8 +316,16 @@ void commit_start(const char *job_id, BlockDriverState *bs, goto fail; } - bdrv_set_backing_hd(commit_top_bs, top, &error_abort); - bdrv_set_backing_hd(overlay_bs, commit_top_bs, &error_abort); + bdrv_set_backing_hd(commit_top_bs, top, &local_err); + if (local_err) { + error_propagate(errp, local_err); + goto fail; + } + bdrv_set_backing_hd(overlay_bs, commit_top_bs, &local_err); + if (local_err) { + error_propagate(errp, local_err); + goto fail; + } s->commit_top_bs = commit_top_bs; bdrv_unref(commit_top_bs);
bdrv_set_backing_hd failure needn't be abort. Since we already have error parameter, use it. Signed-off-by: Fam Zheng <famz@redhat.com> --- block/commit.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-)