Re: [PATCH v3 0/4] ceph: CephFS writeback correctness and performance fixes

From: Ilya Dryomov

Date: Wed Feb 11 2026 - 13:12:06 EST


On Mon, Jan 26, 2026 at 3:31 AM Sam Edwards <cfsworks@xxxxxxxxx> wrote:
>
> Hello list,
>
> This is v2 of my series that addresses interrelated issues in CephFS writeback,
> fixing crashes, improving robustness, and correcting performance behavior,
> particularly for fscrypted files. [1]
>
> Changes v2->v3:
> - Split out two patches ("ceph: free page array when ceph_submit_write() fails"
> and "ceph: split out page-array discarding to a function") to a new series
> [2] since they are independent and had no outstanding review comments.
> - Lowercase the subject lines of commit messages, per subsystem-local style.
> - Update the commit message of ("ceph: fix write storm on fscrypted files") to
> mention the explicit dependency on ("ceph: do not propagate page array
> emplacement errors as batch errors") for correctness, to prevent the former
> from being accidentally backported without the latter.
> - Reorder the series to make the aforementioned patches consecutive. The series
> cadence is now: bugfix, bugfix, cleanup, cleanup
> - Add a clarification to ("ceph: remove error return from
> ceph_process_folio_batch()") that "abort" logic is still possible, just that
> it is responsible for cleaning up after itself.
>
> Changes v1->v2:
> - Clarify patch #1's commit message to establish that failures on the first
> folio are not possible.
> - Add another patch to move the "clean up page array on abort" logic to a new
> ceph_discard_page_array() function. (Thanks Slava!)
> - Change the wording "grossly degraded performance" to instead read
> "correspondingly degraded performance." This makes the causal relationship
> clearer (that write throughput is limited much more significantly by write
> op/s due to the bug) without making any claims (qualitative or otherwise)
> about significance. (Thanks Slava!)
> - Reset locked_pages = 0 immediately when the page array is discarded,
> simplifying patch #5 ("ceph: Assert writeback loop invariants")
> - Reword "as evidenced by the previous two patches which fix oopses" to
> "as evidenced by two recent patches which fix oopses" and refer to the
> patches by subject (being in the same series, I cannot refer to them by hash)
>
> Warm regards,
> Sam
>
> [1] https://lore.kernel.org/all/20260107210139.40554-1-CFSworks@xxxxxxxxx/
> [2] https://lore.kernel.org/all/20260126022715.404984-1-CFSworks@xxxxxxxxx/
>
> Sam Edwards (4):
> ceph: do not propagate page array emplacement errors as batch errors
> ceph: fix write storm on fscrypted files
> ceph: remove error return from ceph_process_folio_batch()
> ceph: assert writeback loop invariants
>
> fs/ceph/addr.c | 23 ++++++++++-------------
> 1 file changed, 10 insertions(+), 13 deletions(-)
>
> --
> 2.52.0
>

Applied.

Thanks,

Ilya