On Tue, Nov 20, 2012 at 01:24:08PM -0500, Don Koch wrote: > On 11/20/2012 07:31 AM, Stefan Hajnoczi wrote: > > +void hostmem_init(Hostmem *hostmem) > > +{ > > + memset(hostmem, 0, sizeof(*hostmem)); > > + > > + hostmem->listener = (MemoryListener){ > > + .begin = hostmem_listener_nop, > > + .commit = hostmem_listener_commit, > > + .region_add = hostmem_listener_region_add, > > + .region_del = hostmem_listener_section_nop, > > + .region_nop = hostmem_listener_region_add, > Really?
Yes. I will rename the function in the next version of the patch to make it clear this is correct. Since we rebuild the entire regions list on every update transaction, we care about the "nop" (unchanged) regions too. They need to be added to the new list we're building. The deleted regions are ignored because we're building a new regions list from scratch anyway. Stefan