Re: [Xen-devel] [PATCH 3/3] xen/blk[front|back]: Enhance discardsupport with secure erasing support.

From: Konrad Rzeszutek Wilk
Date: Mon Oct 10 2011 - 12:43:20 EST


On Mon, Oct 10, 2011 at 05:13:07PM +0100, Ian Campbell wrote:
> On Mon, 2011-10-10 at 16:28 +0100, Konrad Rzeszutek Wilk wrote:
> > diff --git a/include/xen/interface/io/blkif.h b/include/xen/interface/io/blkif.h
> > index 9324488..04f60b0 100644
> > --- a/include/xen/interface/io/blkif.h
> > +++ b/include/xen/interface/io/blkif.h
> > @@ -84,6 +84,10 @@ typedef uint64_t blkif_sector_t;
> > * e07154r6-Data_Set_Management_Proposal_for_ATA-ACS2.doc
> > * http://www.seagate.com/staticfiles/support/disc/manuals/
> > * Interface%20manuals/100293068c.pdf
> > + * We also provide three extra XenBus options to the discard operation:
> > + * 'discard-granularity' - Max amount of sectors that can be discarded.
> > + * 'discard-alignment' - 4K, 128K, etc aligment on sectors to erased.
> > + * 'discard-secure' - whether the discard can also securely erase data.
> > */
> > #define BLKIF_OP_DISCARD 5
> >
> > @@ -107,6 +111,7 @@ struct blkif_request_rw {
> > struct blkif_request_discard {
> > blkif_sector_t sector_number;
> > uint64_t nr_sectors;
> > + uint8_t secure:1;
> > };
> >
> > struct blkif_request {
>
> Which tree/branch is this? I don't see BLKIF_OP_DISCARD in mainline or
> your linux-next branch.

Uh, that is not good. I must have forgotten to merge it in - that is the
#stable/for-jens-3.2 branch.

Let me do that right now.
>
> Since this changes an inter-guest ABI we may need to consider backwards
> compatibility (I suspect this interface is new enough that no one has
> actually implemented it in anger and we can get away with changing it).

<nods>
> In any case it should also be posted against the canonical inter-guest
> interface definition in the xen tree for review with that in mind.

Yes! But I was thinking to first let this one rattle a bit and see what
folks thought about it before submitting the xen-devel.
>
> I think an explicit flag variable is likely to be less trouble WRT
> maintaining compatibility in the future than a bit-field. Also I think
> you may as well align the struct size to something larger than a byte,
> either 4 or 8 bytes would make sense.

Ok. Will change it and make it an uint64_t secure_flag
variable. Later on if there are any "other" flags we can chop it down.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/