Skip to contentSkip to conversation

block: write checksum back to footer after check

PATCH Applied Zhang Shengju 2 participants 2 messages Mar 13, 2012 Block layer

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 block: write checksum back to footer after check

After validation check, the 'checksum' is not written back to footer, which leave it with zero.

This results in errors while loadding it under Microsoft's Hyper-V environment, and also errors from utilities like Citrix's vhd-util.

---
 block/vpc.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)
block/vpc.c +3 -0
index 6b4816f..12aecd4 100644
@@ -189,6 +189,9 @@ static int vpc_open(BlockDriverState *bs, int flags)
         fprintf(stderr, "block-vpc: The header checksum of '%s' is "
             "incorrect.\n", bs->filename);
 
+    /* Write 'checksum' back to footer, or else will leave it with zero. */
+    footer->checksum = be32_to_cpu(checksum);
+
     // The visible size of a image in Virtual PC depends on the geometry
     // rather than on the size stored in the footer (the size in the footer
     // is too large usually)
Signature · 1 line
1.7.1
Applied
#1 lore raw

Am 13.03.2012 15:38, schrieb Zhang Shengju:

Quoted 8 lines

After validation check, the 'checksum' is not written back to footer, which leave it with zero.

This results in errors while loadding it under Microsoft's Hyper-V environment, and also errors from utilities like Citrix's vhd-util.

Thanks, applied to the block branch.

Kevin