]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
ceph: do not skip the first folio of the next object in writeback
authorHristo Venev <hristo@venev.name>
Wed, 25 Feb 2026 17:07:56 +0000 (19:07 +0200)
committerIlya Dryomov <idryomov@gmail.com>
Mon, 9 Mar 2026 11:34:40 +0000 (12:34 +0100)
commit081a0b78ef30f5746cda3e92e28b4d4ae92901d1
treec5b5a05feeb11ee960232b14d330b04f257f3839
parent040d159a45ded7f33201421a81df0aa2a86e5a0b
ceph: do not skip the first folio of the next object in writeback

When `ceph_process_folio_batch` encounters a folio past the end of the
current object, it should leave it in the batch so that it is picked up
in the next iteration.

Removing the folio from the batch means that it does not get written
back and remains dirty instead. This makes `fsync()` silently skip some
of the data, delays capability release, and breaks coherence with
`O_DIRECT`.

The link below contains instructions for reproducing the bug.

Cc: stable@vger.kernel.org
Fixes: ce80b76dd327 ("ceph: introduce ceph_process_folio_batch() method")
Link: https://tracker.ceph.com/issues/75156
Signed-off-by: Hristo Venev <hristo@venev.name>
Reviewed-by: Viacheslav Dubeyko <Slava.Dubeyko@ibm.com>
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
fs/ceph/addr.c