|
@@ -752,12 +752,11 @@ int nfs_generic_pgio(struct nfs_pageio_descriptor *desc,
|
|
nfs_list_remove_request(req);
|
|
nfs_list_remove_request(req);
|
|
nfs_list_add_request(req, &hdr->pages);
|
|
nfs_list_add_request(req, &hdr->pages);
|
|
|
|
|
|
- if (WARN_ON_ONCE(pageused >= pagecount))
|
|
|
|
- return nfs_pgio_error(desc, hdr);
|
|
|
|
-
|
|
|
|
if (!last_page || last_page != req->wb_page) {
|
|
if (!last_page || last_page != req->wb_page) {
|
|
- *pages++ = last_page = req->wb_page;
|
|
|
|
pageused++;
|
|
pageused++;
|
|
|
|
+ if (pageused > pagecount)
|
|
|
|
+ break;
|
|
|
|
+ *pages++ = last_page = req->wb_page;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if (WARN_ON_ONCE(pageused != pagecount))
|
|
if (WARN_ON_ONCE(pageused != pagecount))
|