VBLK question

Hi
I am currently working on LDM and there is no documentation available for
it. I am reading Linux kernel source code on the implementation of the LDM.
I have come across the concept of VBLK fragment which I am unable to
comprehend on reading the code. How are VBLK fragments arranged? Does it
look like a full blown VBLK with header info that says that it is a
fragment? and is an extended VBLK same as a VBLK fragment?
If someone has read that code (ldm.c) then it appears that the data from
all the fragments(belonging to same group) is being copied into a single
buffer and then later the buffer would be parsed to fill up the necesarry
data structures. It would be awesome if someone can send me comments on the
ldm_frag_add() definition. Something looks very weird in there (especially
the memcpy operation).
I can also send the piece of code that is confusing me, if someone is
interested.
Thanks