On 05.07.2016 16:29, Alberto Garcia wrote: > img_commit() creates a block job without an ID. This is no longer > allowed now that we require it to be unique and well-formed. We were > solving this by having a fallback in block_job_create(), but now that > we extended the API of commit_active_start() we can finally set an > explicit ID and revert that change. > > Signed-off-by: Alberto Garcia <[email protected]> > Reviewed-by: Max Reitz <[email protected]> > Reviewed-by: Kevin Wolf <[email protected]> > --- > blockjob.c | 6 ------ > qemu-img.c | 2 +- > 2 files changed, 1 insertion(+), 7 deletions(-) > > diff --git a/blockjob.c b/blockjob.c > index 511c0db..3b9cec7 100644 > --- a/blockjob.c > +++ b/blockjob.c > @@ -132,12 +132,6 @@ void *block_job_create(const char *job_id, const > BlockJobDriver *driver, > > if (job_id == NULL) { > job_id = bdrv_get_device_name(bs); > - /* Assign a default ID if the BDS does not have a device > - * name. We'll get rid of this soon when we finish extending > - * the API of all commands that create block jobs. */ > - if (job_id[0] == '\0') { > - job_id = "default_job"; > - }
I stand by my R-b, but as a remark to what you said for v3: I can't
imagine how this function can be called in a way that job_id will be
empty here (after this patch), and this is why I proposed an
assert(job_id[0] != '\0'). It'd probably be a mistake on our part if
such a case could happen (which is why an assertion would be fine).
However, gracefully returning an error is of course fine, too. The issue
I take with this is that the error we'd be returning is "Invalid job ID
''", which isn't very helpful (it should be "No job ID specified, and no
default available").
In any case, since I can't imagine the job_id being empty here and since
we'll handle that case gracefully in case it should occur, I won't
object (and my R-b stands).
Max
> }
>
> if (!id_wellformed(job_id)) {
> diff --git a/qemu-img.c b/qemu-img.c
> index a78f598..521724c 100644
> --- a/qemu-img.c
> +++ b/qemu-img.c
> @@ -921,7 +921,7 @@ static int img_commit(int argc, char **argv)
> .bs = bs,
> };
>
> - commit_active_start(NULL, bs, base_bs, 0, BLOCKDEV_ON_ERROR_REPORT,
> + commit_active_start("commit", bs, base_bs, 0, BLOCKDEV_ON_ERROR_REPORT,
> common_block_job_cb, &cbi, &local_err);
> if (local_err) {
> goto done;
>
signature.asc
Description: OpenPGP digital signature
