| Submitter | Kevin Wolf |
|---|---|
| Date | Feb. 27, 2012, 4:27 p.m. |
| Message ID | <1330360045-27198-1-git-send-email-kwolf@redhat.com> |
| Download | mbox | patch |
| Permalink | /patch/143222/ |
| State | New |
| Headers | show |
Comments
On Mon, Feb 27, 2012 at 4:27 PM, Kevin Wolf <kwolf@redhat.com> wrote: > The spec says that the length of extensions is padded to 8 bytes, not > the offset. Currently this is the same because the header size is a > multiple of 8, so this is only about compatibility with future changes > to the header size. > > While touching it, move the calculation to a common place instead of > duplicating it for each header extension type. > > Signed-off-by: Kevin Wolf <kwolf@redhat.com> > --- > block/qcow2.c | 5 ++--- > 1 files changed, 2 insertions(+), 3 deletions(-) Reviewed-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
Patch
diff --git a/block/qcow2.c b/block/qcow2.c index dea12c1..f68f0e1 100644 --- a/block/qcow2.c +++ b/block/qcow2.c @@ -126,7 +126,6 @@ static int qcow2_read_extensions(BlockDriverState *bs, uint64_t start_offset, #ifdef DEBUG_EXT printf("Qcow2: Got format extension %s\n", bs->backing_format); #endif - offset = ((offset + ext.len + 7) & ~7); break; default: @@ -143,11 +142,11 @@ static int qcow2_read_extensions(BlockDriverState *bs, uint64_t start_offset, if (ret < 0) { return ret; } - - offset = ((offset + ext.len + 7) & ~7); } break; } + + offset += ((ext.len + 7) & ~7); } return 0;
The spec says that the length of extensions is padded to 8 bytes, not the offset. Currently this is the same because the header size is a multiple of 8, so this is only about compatibility with future changes to the header size. While touching it, move the calculation to a common place instead of duplicating it for each header extension type. Signed-off-by: Kevin Wolf <kwolf@redhat.com> --- block/qcow2.c | 5 ++--- 1 files changed, 2 insertions(+), 3 deletions(-)