Commit cd7928d3 authored by Mike Rapoport's avatar Mike Rapoport Committed by Pavel Emelyanov

criu: page-read: make seek_pagemap_page a method of page_read

Signed-off-by: 's avatarMike Rapoport <rppt@linux.vnet.ibm.com>
Signed-off-by: 's avatarPavel Emelyanov <xemul@virtuozzo.com>
parent 51970afa
......@@ -154,7 +154,7 @@ int dedup_one_iovec(struct page_read *pr, struct iovec *iov)
struct iovec tiov;
struct page_read * prp;
ret = seek_pagemap_page(pr, off, false);
ret = pr->seek_page(pr, off, false);
if (ret == -1)
return -1;
......
......@@ -51,6 +51,7 @@ struct page_read {
/* stop working on current pagemap */
void (*put_pagemap)(struct page_read *);
void (*close)(struct page_read *);
int (*seek_page)(struct page_read *pr, unsigned long vaddr, bool warn);
/* Private data of reader */
struct cr_img *pmi;
......@@ -83,7 +84,6 @@ extern int open_page_read(int pid, struct page_read *, int pr_flags);
extern int open_page_read_at(int dfd, int pid, struct page_read *pr, int pr_flags);
extern void pagemap2iovec(PagemapEntry *pe, struct iovec *iov);
extern void iovec2pagemap(struct iovec *iov, PagemapEntry *pe);
extern int seek_pagemap_page(struct page_read *pr, unsigned long vaddr, bool warn);
extern int dedup_one_iovec(struct page_read *pr, struct iovec *iov);
extern int punch_hole(struct page_read *pr, unsigned long off, unsigned long len, bool cleanup);
......
......@@ -97,7 +97,8 @@ static void skip_pagemap_pages(struct page_read *pr, unsigned long len)
pr->cvaddr += len;
}
int seek_pagemap_page(struct page_read *pr, unsigned long vaddr, bool warn)
static int seek_pagemap_page(struct page_read *pr, unsigned long vaddr,
bool warn)
{
int ret;
struct iovec iov;
......@@ -328,6 +329,7 @@ int open_page_read_at(int dfd, int pid, struct page_read *pr, int pr_flags)
pr->put_pagemap = put_pagemap;
pr->read_pages = read_pagemap_page;
pr->close = close_page_read;
pr->seek_page = seek_pagemap_page;
pr->id = ids++;
pr_debug("Opened page read %u (parent %u)\n",
......@@ -350,6 +352,7 @@ open_old:
pr->read_pages = read_page;
pr->pi = NULL;
pr->close = close_page_read;
pr->seek_page = NULL;
return 1;
}
......
......@@ -528,7 +528,7 @@ static int check_pagehole_in_parent(struct page_read *p, struct iovec *iov)
struct iovec piov;
unsigned long pend;
ret = seek_pagemap_page(p, off, true);
ret = p->seek_page(p, off, true);
if (ret <= 0 || !p->pe)
return -1;
......
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