* Peter Xu (pet...@redhat.com) wrote: > It'll be used in follow up patches to access more fields out of it. Meanwhile > fetch the userfaultfd inside the function. > > Signed-off-by: Peter Xu <pet...@redhat.com>
Reviewed-by: Dr. David Alan Gilbert <dgilb...@redhat.com> > --- > migration/postcopy-ram.c | 8 +++++--- > 1 file changed, 5 insertions(+), 3 deletions(-) > > diff --git a/migration/postcopy-ram.c b/migration/postcopy-ram.c > index 11a70441a6..d333c3fd0e 100644 > --- a/migration/postcopy-ram.c > +++ b/migration/postcopy-ram.c > @@ -1128,10 +1128,12 @@ int > postcopy_ram_incoming_setup(MigrationIncomingState *mis) > return 0; > } > > -static int qemu_ufd_copy_ioctl(int userfault_fd, void *host_addr, > +static int qemu_ufd_copy_ioctl(MigrationIncomingState *mis, void *host_addr, > void *from_addr, uint64_t pagesize, RAMBlock > *rb) > { > + int userfault_fd = mis->userfault_fd; > int ret; > + > if (from_addr) { > struct uffdio_copy copy_struct; > copy_struct.dst = (uint64_t)(uintptr_t)host_addr; > @@ -1185,7 +1187,7 @@ int postcopy_place_page(MigrationIncomingState *mis, > void *host, void *from, > * which would be slightly cheaper, but we'd have to be careful > * of the order of updating our page state. > */ > - if (qemu_ufd_copy_ioctl(mis->userfault_fd, host, from, pagesize, rb)) { > + if (qemu_ufd_copy_ioctl(mis, host, from, pagesize, rb)) { > int e = errno; > error_report("%s: %s copy host: %p from: %p (size: %zd)", > __func__, strerror(e), host, from, pagesize); > @@ -1212,7 +1214,7 @@ int postcopy_place_page_zero(MigrationIncomingState > *mis, void *host, > * but it's not available for everything (e.g. hugetlbpages) > */ > if (qemu_ram_is_uf_zeroable(rb)) { > - if (qemu_ufd_copy_ioctl(mis->userfault_fd, host, NULL, pagesize, > rb)) { > + if (qemu_ufd_copy_ioctl(mis, host, NULL, pagesize, rb)) { > int e = errno; > error_report("%s: %s zero host: %p", > __func__, strerror(e), host); > -- > 2.26.2 > -- Dr. David Alan Gilbert / dgilb...@redhat.com / Manchester, UK