]> git.baikalelectronics.ru Git - kernel.git/commit
LDM: Fix reassembly of extended VBLKs.
authorAnton Altaparmakov <anton@tuxera.com>
Fri, 24 Feb 2012 09:37:42 +0000 (09:37 +0000)
committerAnton Altaparmakov <anton@tuxera.com>
Fri, 24 Feb 2012 09:37:42 +0000 (09:37 +0000)
commit46ff71aee1e9f33b9bfbf0db75d118441d9abe61
treefb7ca5625edc0693388a1355b85ed62fc8a5b221
parent4bb65399f701e9515a7466e1cb442e609cb8ce9c
LDM: Fix reassembly of extended VBLKs.

From: Ben Hutchings <ben@decadent.org.uk>

Extended VBLKs (those larger than the preset VBLK size) are divided
into fragments, each with its own VBLK header.  Our LDM implementation
generally assumes that each VBLK is contiguous in memory, so these
fragments must be assembled before further processing.

Currently the reassembly seems to be done quite wrongly - no VBLK
header is copied into the contiguous buffer, and the length of the
header is subtracted twice from each fragment.  Also the total
length of the reassembled VBLK is calculated incorrectly.

Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Signed-off-by: Anton Altaparmakov <anton@tuxera.com>
block/partitions/ldm.c