From mboxrd@z Thu Jan 1 00:00:00 1970 From: Konrad Rzeszutek Wilk Subject: [PATCH 3 of 3] interface: add 'discard-secure' and BLKIF_DISCARD_SECURE Date: Wed, 26 Oct 2011 17:02:09 -0400 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: xen-devel@lists.xensource.com, Ian.Campbell@citrix.com Cc: konrad.wilk@oracle.com List-Id: xen-devel@lists.xenproject.org # HG changeset patch # User Konrad Rzeszutek Wilk # Date 1318457231 14400 # Node ID ef78e170a9008346578458abf541075310cb299b # Parent 14793d6c4adb38cc57a6d55a8907a18d5ca18634 interface: add 'discard-secure' and BLKIF_DISCARD_SECURE Alter the 'reserved' uint8_t to be used a 'flag'. We use only for one flag: BLKIF_DISCARD_SECURE. That flag can only be set if the backend has set 'discard-secure' to one. If backend has not set 'discard-secure' to one, that flag will have no effect. Acked-by: Jan Beulich Signed-off-by: Konrad Rzeszutek Wilk diff -r 14793d6c4adb -r ef78e170a900 xen/include/public/io/blkif.h --- a/xen/include/public/io/blkif.h Wed Oct 12 18:07:07 2011 -0400 +++ b/xen/include/public/io/blkif.h Wed Oct 12 18:07:11 2011 -0400 @@ -120,6 +120,9 @@ * allocation unit in bytes if reported by the device. Otherwise the * discard-granularity will be set to match the device's physical block size. * It is the minimum size you can discard. + * 'discard-secure' - All copies of the discarded sectors (potentially created + * by garbage collection) must also be erased. To use this feature, the flag + * BLKIF_DISCARD_SECURE must be set in the blkif_request_discard. */ #define BLKIF_OP_DISCARD 5 @@ -160,7 +163,8 @@ typedef struct blkif_request blkif_reque */ struct blkif_request_discard { uint8_t operation; /* BLKIF_OP_DISCARD */ - uint8_t reserved; /* */ + uint8_t flag; /* BLKIF_DISCARD_SECURE or zero */ +#define BLKIF_DISCARD_SECURE (1<<0) /* ignored if discard-secure=0 */ blkif_vdev_t handle; /* same as for read/write requests */ uint64_t id; /* private guest value, echoed in resp */ blkif_sector_t sector_number;/* start sector idx on disk */