On 07/24/2012 05:04 AM, Paolo Bonzini wrote: > 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 default is 'report' for both. > > The 'ignore' policy will leave the sector dirty, so that it will be > retried later. Thus, it will not cause corruption.
How frequently will the dirty sector be retried when the policy is 'ignore'? Are we going to be causing a denial-of-service by repeatedly retrying the sector until the user does something about the error event? > +++ b/qapi-schema.json > @@ -1389,17 +1389,27 @@ > # (all the disk, only the sectors allocated in the topmost image, or > # only new I/O). > # > +# @on-source-error: #optional the action to take on an error on the source, > +# default 'report'. 'stop' and 'enospc' can only be used > +# if the block device supports io-status (see BlockInfo). > +# > +# @on-target-error: #optional the action to take on an error on the target, > +# default 'report' (no limitations, since this applies to > +# a different block device than @device). > +# > # Returns: nothing on success > # If @device is not a valid block device, DeviceNotFound > # If @target can't be opened, OpenFileFailed > # If @format is invalid, InvalidBlockFormat > +# If @on_source_error is not supported, InvalidParameter s/_/-/g -- Eric Blake ebl...@redhat.com +1-919-301-3266 Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature