A copy store is meaningful only with respect to a child store. What a copy
store does is to read the child store's entire contents into memory at startup
time and then use that buffer as the contents of the store thereafter. (The
code for this is in libstore/copy.c
.)
Because of how the interfaces are specified, reading the entire contents of a
zero store in fact means just vm_allocate
ing fresh memory.
So, a copy store based on a zero store is just what you'd
get from vm_allocate
ing some memory and passing it into
store_buffer_create
.
See a ramdisk example.