All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Benoît Canet" <benoit.canet@irqsave.net>
To: Stefan Hajnoczi <stefanha@redhat.com>
Cc: Kevin Wolf <kwolf@redhat.com>, shhuiw@163.com, qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH] cow: make padding in the header explicit
Date: Thu, 4 Sep 2014 11:47:12 +0200	[thread overview]
Message-ID: <20140904094709.GA10515@irqsave.net> (raw)
In-Reply-To: <1409821121-20645-1-git-send-email-stefanha@redhat.com>

The Thursday 04 Sep 2014 à 09:58:41 (+0100), Stefan Hajnoczi wrote :
> On-disk structures should be marked packed so the compiler does not
> insert padding for field alignment.  Padding should be explicit so
> on-disk layout is obvious and we don't rely on the architecture-specific
> ABI for alignment rules.
> 
> The pahole(1) diff shows that the padding is now explicit and offsets
> are unchanged:
> 
>  	char                       backing_file[1024];   /*     8  1024 */
>  	/* --- cacheline 16 boundary (1024 bytes) was 8 bytes ago --- */
>  	int32_t                    mtime;                /*  1032     4 */
> -
> -	/* XXX 4 bytes hole, try to pack */
> -
> +	uint32_t                   padding;              /*  1036     4 */
>  	uint64_t                   size;                 /*  1040     8 */
> 
> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
> ---
>  block/cow.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/block/cow.c b/block/cow.c
> index 6ee4833..5ee9363 100644
> --- a/block/cow.c
> +++ b/block/cow.c
> @@ -37,9 +37,10 @@ struct cow_header_v2 {
>      uint32_t version;
>      char backing_file[1024];
>      int32_t mtime;
> +    uint32_t padding;
>      uint64_t size;
>      uint32_t sectorsize;
> -};
> +} QEMU_PACKED;
>  
>  typedef struct BDRVCowState {
>      CoMutex lock;
> -- 
> 1.9.3
> 
> 
Reviewed-by: Benoît Canet <benoit.canet@nodalink.com>

  parent reply	other threads:[~2014-09-04  9:48 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-09-04  8:58 [Qemu-devel] [PATCH] cow: make padding in the header explicit Stefan Hajnoczi
2014-09-04  9:26 ` Kevin Wolf
2014-09-04  9:47 ` Benoît Canet [this message]
2014-09-04 12:07 ` Eric Blake
2014-09-04 12:57   ` shhuiw
2014-09-04 13:51   ` Stefan Hajnoczi
2014-09-04 14:10     ` Kevin Wolf
2014-09-04 15:43       ` Stefan Hajnoczi
2014-09-05  9:13         ` Kevin Wolf
2014-09-05 11:01         ` Markus Armbruster

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20140904094709.GA10515@irqsave.net \
    --to=benoit.canet@irqsave.net \
    --cc=kwolf@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=shhuiw@163.com \
    --cc=stefanha@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.