mirror of
https://github.com/torvalds/linux.git
synced 2026-09-11 20:13:02 +02:00
libceph: remove pinning assertion in ceph_msg_data_iter_next()
ceph_msg_data_iter_next() gets a page reference from iov_iter_get_pages2() only to immediately drop it, asserting that the page is pinned some other way. The assertion is the last caller of PageWriteback() in the tree, blocking removal of the PG_writeback page flag accessors. Remove the assertion, as it is a CONFIG_DEBUG_VM-only check of an assumption the FIXME comment already documents. Converting to iov_iter_extract_pages() instead was considered, but the messenger never releases what it extracts, so it would still rely entirely on the caller holding the pages. That would be just as much of an abuse of the API, so leave it as-is for now. Signed-off-by: Tal Zussman <tz2294@columbia.edu> Reviewed-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Ilya Dryomov <idryomov@gmail.com> Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
This commit is contained in:
parent
a61c6ae1da
commit
f75987e543
|
|
@ -1003,7 +1003,6 @@ static struct page *ceph_msg_data_iter_next(struct ceph_msg_data_cursor *cursor,
|
|||
* we'll get an iov_iter_get_pages2 variant that doesn't take
|
||||
* page refs. Until then, just put the page ref.
|
||||
*/
|
||||
VM_BUG_ON_PAGE(!PageWriteback(page) && page_count(page) < 2, page);
|
||||
put_page(page);
|
||||
|
||||
*length = min_t(size_t, len, cursor->resid);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user