Re: [Xen-devel] [PATCH RFC] xen-block: correctly define structuresin public headers

From: Roger Pau Monné
Date: Tue Dec 03 2013 - 06:18:13 EST


On 03/12/13 12:14, Jan Beulich wrote:
>>>> On 03.12.13 at 11:57, Roger Pau Monne <roger.pau@xxxxxxxxxx> wrote:
>> struct blkif_request_rw {
>> uint8_t nr_segments; /* number of segments */
>> blkif_vdev_t handle; /* only for read/write requests */
>> -#ifdef CONFIG_X86_64
>> - uint32_t _pad1; /* offsetof(blkif_request,u.rw.id) == 8 */
>> -#endif
>> uint64_t id; /* private guest value, echoed in resp */
>> blkif_sector_t sector_number;/* start sector idx on disk (r/w only) */
>> struct blkif_request_segment {
>> @@ -157,47 +154,36 @@ struct blkif_request_rw {
>> /* @last_sect: last sector in frame to transfer (inclusive). */
>> uint8_t first_sect, last_sect;
>> } seg[BLKIF_MAX_SEGMENTS_PER_REQUEST];
>> -} __attribute__((__packed__));
>> +};
>
> Removing the packed attribute here and below is not possible
> as long as the defined structures get used in struct blkif_request
> as the second field after a uint8_t one, and as long as the
> individual fields here aren't natively aligned.

Sorry, the patch is incorrect, let me resend that.

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