On 12/11/2014 04:55 AM, Vladimir Sementsov-Ogievskiy wrote:
Because of wrong return value of .save_live_pending() in
block-migration, migration finishes before the whole disk
is transferred. Such situation occures when the migration
s/occures/occurs/
process is fast enouth, for example when source and dest
s/enouth/enough/
are on the same host.
If in the bulk phase we return something < max_size, we will skip
transferring the tail of the device. Currently we have "set pending to
BLOCK_SIZE if it is zero" for bulk phase, but there no guarantee, that
it will be < max_size.
True approach is to return, for example, max_size+1 when we are in the
bulk phase.
Signed-off-by: Vladimir Sementsov-Ogievskiy <address@hidden>
---
block-migration.c | 4 ++--
I'll let someone else review the code proper.