Il 16/04/2013 06:49, Paolo Bonzini ha scritto: >> > + remote_ram_blocks.num_blocks = remote_ram_blocks.remote_area; >> > + remote_ram_blocks.block = (void *) (remote_ram_blocks.num_blocks + 1); > You cannot do this, it doesn't guarantee that remote_ram_blocks.block is > correctly aligned. Please use an extra dummy struct RDMARemoteBlock. >
Actually you do not need to transmit num_blocks at all, do you? You can just use head->len / sizeof(struct RDMARemoteBlock). Then num_blocks can stop being a pointer, and remote_area can disappear too. Paolo