Commit b47d9a28 authored by Pavel Emelyanov's avatar Pavel Emelyanov

page-read: Do not lseek file to get its current position

It's already written into page_read->pi_off, so just use one.

https://travis-ci.org/criupatchwork/criu/builds/175451746Signed-off-by: 's avatarPavel Emelyanov <xemul@virtuozzo.com>
Acked-by: 's avatarMike Rapoport <rppt@linux.vnet.ibm.com>
parent 5f09d884
......@@ -256,25 +256,24 @@ static int read_local_page(struct page_read *pr, unsigned long vaddr,
unsigned long len, void *buf)
{
int fd = img_raw_fd(pr->pi);
off_t current_vaddr = lseek(fd, pr->pi_off, SEEK_SET);
int ret;
pr_debug("\tpr%u Read page from self %lx/%"PRIx64"\n", pr->id, pr->cvaddr, current_vaddr);
ret = read(fd, buf, len);
pr_debug("\tpr%u Read page from self %lx/%"PRIx64"\n", pr->id, pr->cvaddr, pr->pi_off);
ret = pread(fd, buf, len, pr->pi_off);
if (ret != len) {
pr_perror("Can't read mapping page %d", ret);
return -1;
}
pr->pi_off += len;
if (opts.auto_dedup) {
ret = punch_hole(pr, current_vaddr, len, false);
ret = punch_hole(pr, pr->pi_off, len, false);
if (ret == -1) {
return -1;
}
}
pr->pi_off += len;
return 0;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment