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

From: Ian Campbell
Date: Mon Oct 10 2011 - 12:13:10 EST


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.

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).
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.

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.

Ian.

--
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/