OSDN Git Service

migration: fix incorrect bitmap size calculation
authorPeter Xu <peterx@redhat.com>
Tue, 10 Jul 2018 09:18:55 +0000 (17:18 +0800)
committerDr. David Alan Gilbert <dgilbert@redhat.com>
Tue, 10 Jul 2018 11:56:18 +0000 (12:56 +0100)
commita725ef9fe36424351faf51696c3fc441ded13f35
tree22cdbe7f27ad4377cfa3f646bda6c594cd922b1f
parentfd037a656aca23dc3c47aa8c9de261bec6b8aad0
migration: fix incorrect bitmap size calculation

The calculation on size of received bitmap is incorrect for postcopy
recovery.  Here we wanted to let the size to cover all the valid bits in
the bitmap, we should use DIV_ROUND_UP() instead of a division.

For example, a RAMBlock with size=4K (which contains only one single 4K
page) will have nbits=1, then nbits/8=0, then the real bitmap won't be
sent to source at all.

Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Peter Xu <peterx@redhat.com>
Message-Id: <20180710091902.28780-4-peterx@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
migration/ram.c