On 24/09/2016 14:27, Vladimir Sementsov-Ogievskiy wrote: > On 24.09.2016 15:06, Vladimir Sementsov-Ogievskiy wrote: >> On 24.09.2016 00:21, Wouter Verhelst wrote: >>> On Fri, Sep 23, 2016 at 02:00:06PM -0500, Eric Blake wrote: >>>> My preference would be a new flag to the existing commands, with >>>> explicit documentation that 0 offset and 0 length must be used with >>>> that >>>> flag, when requesting a full-device wipe. >>> Alternatively, what about a flag that says "if you use this flag, the >>> size should be left-shifted by X bits before processing"? That allows >>> you to do TRIM or WRITE_ZEROES on much larger chunks, without being >>> limited to "whole disk" commands. We should probably make it an illegal >>> flag for any command that actually sends data over the wire, though. >> >> Note: if disk size is not aligned to X we will have to send request >> larger than the disk size to clear the whole disk. > > Also, in this case, which realization of bdrv interface in qemu would be > most appropriate? Similar flag (in this case X must be defined in some > very transparent way, as a constant of 64k for example), or flag > BDRV_REQ_WHOLE_DISK, or separate .bdrv_zero_all and .bdrv_discard_all ?
This makes nice sense. It also matches the SANITIZE command from the SCSI command set. Paolo