On Mon, Feb 28, 2022 at 02:20:34PM -0700, Alex Williamson wrote: > > Unless you think we should block it. > > What's the meaning of initial_bytes and dirty_bytes while in > STOP_COPY? Same as during pre-copy - both numbers are the bytes remaining to be read() from the FD in each bucket. They should continue to decline as read() progresses regardless of what state the data_fd is in. The only special thing about STOP_COPY is that dirty_bytes should not increase as the device should not be generating new dirty data. How about: * Drivers should attempt to return estimates so that initial_bytes + * dirty_bytes matches the amount of data an immediate transition to STOP_COPY * will require to be streamed. While in STOP_COPY the initial_bytes * and dirty_bytes should continue to be decrease as the data_fd * progresses streaming out the data. Remove the 'in the precopy phase' from the first sentance Adjust the last paragraph as: + * returning readable. ENOMSG may not be returned in STOP_COPY. Support + * for this ioctl is required when VFIO_MIGRATION_PRE_COPY is set. Jason