Stefan Hajnoczi <stefa...@gmail.com> writes:

> On Tue, Feb 16, 2016 at 08:20:44PM +0300, Denis V. Lunev wrote:
>> the idea seems feasible at the first glance. I'll need to check
>> the amount of the overhead of this approach. If we'll need
>> to perform an additional request for each <granularity>
>> block - the overhead is toooooo much.
>
> Regarding overhead, thankfully it's not one-block-at-a-time :).
>
>> Do you have the link to the spec/implementation?
>
> You can reference SCSI Block Commands (SBC-3) 5.4 GET LBA STATUS
> command.  The filename is sbc3r25.pdf and it's available from t10.org
> although other sites seem to host copies too.
>
> The approach is similar to the QMP command you have proposed.  Input
> parameters are "starting LBA" and "allocation length".  Outputs are a
> list of "status descriptors" which consists of an LBA, number of blocks,
> and a provisioning status field (allocated/unallocated/etc).
>
> This means a single call can retrieve information for a whole range of
> the disk.  It's slightly more efficient than QMP since the data is
> binary and not JSON text.

Moreover, it avoids abusing control-plane QMP as data plane.

Reply via email to