> Then let's break the API. Not immediately, I think we can keep some
> useless compatibility fields in the implementation of background jobs
> that would only be needed to allow the block job commands to be a
> wrapper (mostly 'bool is_block_job' and 'BlockDriverState bs', I think;
> maybe even j
Am 18.10.2012 16:52, schrieb Paolo Bonzini:
> Il 18/10/2012 15:56, Kevin Wolf ha scritto:
>> Am 18.10.2012 15:10, schrieb Paolo Bonzini:
>>> Il 18/10/2012 15:07, Kevin Wolf ha scritto:
>> +s->synced = false;
>> +if (read) {
>> +return block_job_error_action(&s->common, s
Il 18/10/2012 15:56, Kevin Wolf ha scritto:
> Am 18.10.2012 15:10, schrieb Paolo Bonzini:
>> Il 18/10/2012 15:07, Kevin Wolf ha scritto:
> +s->synced = false;
> +if (read) {
> +return block_job_error_action(&s->common, s->common.bs,
> +
Am 18.10.2012 15:10, schrieb Paolo Bonzini:
> Il 18/10/2012 15:07, Kevin Wolf ha scritto:
+s->synced = false;
+if (read) {
+return block_job_error_action(&s->common, s->common.bs,
+ s->on_source_error, true, error);
+
Il 18/10/2012 15:07, Kevin Wolf ha scritto:
>> > +s->synced = false;
>> > +if (read) {
>> > +return block_job_error_action(&s->common, s->common.bs,
>> > + s->on_source_error, true, error);
>> > +} else {
>> > +return block_job_error_
Am 26.09.2012 17:56, schrieb Paolo Bonzini:
> Error management is important for mirroring; otherwise, an error on the
> target (even something as "innocent" as ENOSPC) requires to start again
> with a full copy. Similar to on_read_error/on_write_error, two separate
> knobs are provided for on_sour
Error management is important for mirroring; otherwise, an error on the
target (even something as "innocent" as ENOSPC) requires to start again
with a full copy. Similar to on_read_error/on_write_error, two separate
knobs are provided for on_source_error (reads) and on_target_error (writes).
The d