Messages in this thread | | | Date | Tue, 14 Jan 2014 15:17:04 +0000 | From | David Vrabel <> | Subject | Re: [Xen-devel] [PATCH v2] xen-blkfront: remove type check from blkfront_setup_discard |
| |
On 14/01/14 14:53, Olaf Hering wrote: > On Mon, Jan 13, David Vrabel wrote: > >> Can we have a patch to blkif.h that clarifies this? > > What about this change? > > diff --git a/xen/include/public/io/blkif.h b/xen/include/public/io/blkif.h > index 84eb7fd..56e2faa 100644 > --- a/xen/include/public/io/blkif.h > +++ b/xen/include/public/io/blkif.h > @@ -194,6 +194,7 @@ > * discard-secure > * Values: 0/1 (boolean) > * Default Value: 0 > + * Notes: 10 > * > * A value of "1" indicates that the backend can process BLKIF_OP_DISCARD > * requests with the BLKIF_DISCARD_SECURE flag set. > @@ -323,9 +324,10 @@ > * For full interoperability, block front and backends should publish > * identical ring parameters, adjusted for unit differences, to the > * XenStore nodes used in both schemes. > - * (4) Devices that support discard functionality may internally allocate > - * space (discardable extents) in units that are larger than the > - * exported logical block size. > + * (4) Devices that support discard functionality may internally allocate space > + * (discardable extents) in units that are larger than the exported logical > + * block size. The properties discard-granularity and discard-alignment may > + * be present if the backing device has such requirments.
Clarify that both discard-granularity and discard-alignment must be present if non-sector-sized granularity is required. e.g.,
"If the backing device has such discardable extents the backend must provide both discard-granularity and discard-alignment."
You find it useful to add these recommendations:
"Backends supporting discard should include discard-granularity and discard-alignment even if it supports discarding individual sectors. Frontends should assume discard-aligment == 0 and discard-granularity == sector size if these keys are missing."
> * (5) The discard-alignment parameter allows a physical device to be > * partitioned into virtual devices that do not necessarily begin or > * end on a discardable extent boundary. > @@ -344,6 +346,8 @@ > * grants that can be persistently mapped in the frontend driver, but > * due to the frontent driver implementation it should never be bigger > * than RING_SIZE * BLKIF_MAX_SEGMENTS_PER_REQUEST. > + *(10) The discard-secure property may be present and will be set to 1 if the > + * backing device supports secure discard. > */
David
| |