Re: [PATCH v2] libceph: remove pinning assertion in ceph_msg_data_iter_next()
From: Ilya Dryomov
Date: Wed Sep 02 2026 - 06:21:25 EST
On Tue, Aug 25, 2026 at 5:41 PM Tal Zussman <tz2294@xxxxxxxxxxxx> wrote:
>
> 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@xxxxxxxxxxxx>
> ---
> The assertion is the last caller of PageWriteback() in the tree. The
> removal of the PG_writeback page flag accessors will be sent
> separately.
>
> Changes in v2:
> - Only delete the assertion and leave the rest as-is, per Christoph.
> - Rebase onto latest ceph for-linus branch, as v1 was applied to the
> testing branch.
> - Link to v1: https://lore.kernel.org/r/20260817-ceph-msgr-writeback-v1-1-38f3754034b9@xxxxxxxxxxxx
> ---
> net/ceph/messenger.c | 1 -
> 1 file changed, 1 deletion(-)
>
> diff --git a/net/ceph/messenger.c b/net/ceph/messenger.c
> index 34b3097b4c7b..95929eeb1f85 100644
> --- a/net/ceph/messenger.c
> +++ b/net/ceph/messenger.c
> @@ -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);
>
> ---
> base-commit: 91880e4a7fac45bc407771bc57bbaf4f37e9b4c3
> change-id: 20260808-ceph-msgr-writeback-a67d25e28f1e
>
> Best regards,
> --
> Tal Zussman <tz2294@xxxxxxxxxxxx>
>
Applied.
Thanks,
Ilya