Il 28/02/2012 17:07, Eric Blake ha scritto: > { 'enum': 'BlockdevOp', > 'data': [ 'snapshot', 'snapshot-mirror', 'reopen' ] } > { 'type': 'BlockdevAction', > 'data': {'device': 'str', 'op': 'BlockdevOp', > 'file': 'str', '*format': 'str', '*reuse': 'bool', > '*mirror': 'str', '*mirror-format': 'str' } } > { 'command': 'blkdev-group-action-sync', > 'data': { 'actionlist': [ 'BlockdevAction' ] } } > > > The overall command is atomic - either all operations will succeed, or > the command returns an error pointing to the name of the device that > failed leaving all devices in their pre-command state. Then, for each > requested operation: > > If op is 'snapshot', then 'file' names the new snapshot file; 'reuse' is > optional (defaults to false) to say whether qemu creates the file from > scratch, or opens an existing file with the backing file already > populated correctly. 'format' gives the format of 'file', defaulting to > qcow2. 'mirror' and 'mirror-format' must not be given. > > If op is 'snapshot-mirror', then 'mirror' is mandatory; and both 'file' > and 'mirror' are opened as a new mirrored snapshot. Again, 'reuse' > affects whether qemu creates the new files from scratch or trusts oVirt > to pre-create both files with backing file information; and 'format' and > 'mirror-format' allow control over the image format being opened. Could snapshot-mirror be done as two separate commands for snapshot (or reopen) and mirror? This removes the need for mirror and mirror-format. > If op is 'reopen', then 'file' is the name of the file to be opened to > replace the current file tied to the blockdev, with type given by > 'format'. 'reuse', 'mirror', and 'mirror-format' must not be given. Otherwise looks good. Paolo -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html