]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
crimson/seastore: reject oversized writes and zeros instead of aborting
authorKefu Chai <k.chai@proxmox.com>
Wed, 20 May 2026 07:36:51 +0000 (15:36 +0800)
committerKefu Chai <k.chai@proxmox.com>
Wed, 20 May 2026 11:23:33 +0000 (19:23 +0800)
commitb83a20a2fc28a8cf1c7bfbff799e14b583634c89
treef452efe25fc168e46f6d9608b980ef0d61922032
parent4d15f1ce0650d41c7291d2e843751b4fe3854869
crimson/seastore: reject oversized writes and zeros instead of aborting

prepare_data_reservation() ceph_assert()s the request fits within
seastore_default_max_object_size (16 MiB), but the OSD validates writes
against osd_max_object_size (128 MiB).  Anything between the two limits
passes OSD validation then trips the assert, crashing the OSD and its
replicas.

_zero() already returned EIO for this case; mirror that in _write() and
fix _zero()'s off-by-one (>= should be >, matching the <= in the assert).

Signed-off-by: Kefu Chai <k.chai@proxmox.com>
src/crimson/os/seastore/seastore.cc