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

pagemap: seek_pagemap_page: drop warn parameter

Move error printouts to the call sites to keep "fast path" clearer.
Signed-off-by: 's avatarMike Rapoport <rppt@linux.vnet.ibm.com>
Signed-off-by: 's avatarPavel Emelyanov <xemul@virtuozzo.com>
parent 4b954b94
...@@ -51,7 +51,7 @@ struct page_read { ...@@ -51,7 +51,7 @@ struct page_read {
int (*read_pages)(struct page_read *, unsigned long vaddr, int nr, int (*read_pages)(struct page_read *, unsigned long vaddr, int nr,
void *, unsigned flags); void *, unsigned flags);
void (*close)(struct page_read *); void (*close)(struct page_read *);
int (*seek_page)(struct page_read *pr, unsigned long vaddr, bool warn); int (*seek_page)(struct page_read *pr, unsigned long vaddr);
int (*sync)(struct page_read *pr); int (*sync)(struct page_read *pr);
/* Private data of reader */ /* Private data of reader */
......
...@@ -202,9 +202,11 @@ static int check_pagehole_in_parent(struct page_read *p, struct iovec *iov) ...@@ -202,9 +202,11 @@ static int check_pagehole_in_parent(struct page_read *p, struct iovec *iov)
struct iovec piov; struct iovec piov;
unsigned long pend; unsigned long pend;
ret = p->seek_page(p, off, true); ret = p->seek_page(p, off);
if (ret <= 0 || !p->pe) if (ret <= 0 || !p->pe) {
pr_err("Missing %lx in parent pagemap\n", off);
return -1; return -1;
}
pagemap2iovec(p->pe, &piov); pagemap2iovec(p->pe, &piov);
pr_debug("\tFound %p/%zu\n", piov.iov_base, piov.iov_len); pr_debug("\tFound %p/%zu\n", piov.iov_base, piov.iov_len);
......
...@@ -96,7 +96,7 @@ int dedup_one_iovec(struct page_read *pr, struct iovec *iov) ...@@ -96,7 +96,7 @@ int dedup_one_iovec(struct page_read *pr, struct iovec *iov)
struct iovec tiov; struct iovec tiov;
struct page_read * prp; struct page_read * prp;
ret = pr->seek_page(pr, off, false); ret = pr->seek_page(pr, off);
if (ret == -1) if (ret == -1)
return -1; return -1;
...@@ -170,8 +170,7 @@ static void skip_pagemap_pages(struct page_read *pr, unsigned long len) ...@@ -170,8 +170,7 @@ static void skip_pagemap_pages(struct page_read *pr, unsigned long len)
pr->cvaddr += len; pr->cvaddr += len;
} }
static int seek_pagemap_page(struct page_read *pr, unsigned long vaddr, static int seek_pagemap_page(struct page_read *pr, unsigned long vaddr)
bool warn)
{ {
int ret; int ret;
struct iovec iov; struct iovec iov;
...@@ -184,12 +183,9 @@ static int seek_pagemap_page(struct page_read *pr, unsigned long vaddr, ...@@ -184,12 +183,9 @@ static int seek_pagemap_page(struct page_read *pr, unsigned long vaddr,
while (1) { while (1) {
unsigned long iov_end; unsigned long iov_end;
if (vaddr < pr->cvaddr) { if (vaddr < pr->cvaddr)
if (warn)
pr_err("Missing %lx in parent pagemap, current iov: base=%lx,len=%zu\n",
vaddr, (unsigned long)iov.iov_base, iov.iov_len);
return 0; return 0;
}
iov_end = (unsigned long)iov.iov_base + iov.iov_len; iov_end = (unsigned long)iov.iov_base + iov.iov_len;
if (iov_end <= vaddr) { if (iov_end <= vaddr) {
...@@ -234,9 +230,11 @@ static int read_parent_page(struct page_read *pr, unsigned long vaddr, ...@@ -234,9 +230,11 @@ static int read_parent_page(struct page_read *pr, unsigned long vaddr,
int p_nr; int p_nr;
pr_debug("\tpr%u Read from parent\n", pr->id); pr_debug("\tpr%u Read from parent\n", pr->id);
ret = seek_pagemap_page(ppr, vaddr, true); ret = seek_pagemap_page(ppr, vaddr);
if (ret <= 0) if (ret <= 0) {
pr_err("Missing %lx in parent pagemap\n", vaddr);
return -1; return -1;
}
/* /*
* This is how many pages we have in the parent * This is how many pages we have in the parent
......
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