NL> No typechecking. I think I can make this a little better by doing what Serge suggested: sizeof(typeof(a)) != sizeof(typeof(b)); I was focused on the CR_COPY_BIT() variant at the time, so I didn't think to apply it to CR_COPY. NL> Generates a memcpy where, depending on the arguments, simple NL> assignment would be sufficient and preferred. The implementation that uses these in a common function to copy in either direction could certainly apply them only where appropriate. Further, we could have a CR_COPY() and CR_COPY_MULTI() which would use assignment and memcpy() respectively. NL> Anyway, checkpoint and restart should not be "symmetric" -- the NL> restart code has to validate certain values, such as privileged NL> registers, in the image before committing them. As Serge (just) said, I think that it makes it pretty clear where the special cases are. There's no reason (that I can think of) why you can't check all of your values before you call the symmetric copy function during restore. You've got to check and then copy anyway. -- Dan Smith IBM Linux Technology Center email: danms@xxxxxxxxxx _______________________________________________ Containers mailing list Containers@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/containers