]> git.apps.os.sepia.ceph.com Git - ceph-object-corpus.git/commit
cls/rbd: mark cls_rbd_snap as forward incompatible since nautilus 24/head
authorKefu Chai <tchaikov@gmail.com>
Sun, 15 Jun 2025 05:11:29 +0000 (13:11 +0800)
committerKefu Chai <tchaikov@gmail.com>
Wed, 18 Jun 2025 00:24:43 +0000 (08:24 +0800)
commit57b748770793e17d4249109c517386f6f010f759
tree2a7f47953e92bb27f0969d632ac9e198eadf5d02
parent6b15dbab5629b79bc9364054cf1d3ca6c01d9af2
cls/rbd: mark cls_rbd_snap as forward incompatible since nautilus

ceph/ceph@32b14ed1 broke backward compatibility of cls_rbd_snap's on-disk
format by removing decoding of the "parent" field. When re-encoding
instances, this field is now lost even if originally non-empty.

This breaking change should have been caught by readable.sh tests, but
the tests passed because they reused the same instance for re-encoding,
preserving undecoded fields by only overwriting decoded ones.

An upcoming change in ceph/ceph will allocate fresh instances for each
decode operation instead of reusing existing ones. This will expose the
compatibility break and cause test failures.

Mark cls_rbd_snap as forward incompatible starting from v15 (earliest
version with archived corpus) to properly handle this breaking change
and prepare for the improved testing approach.

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
archive/15.0.0-539-g191ab33faf/forward_incompat/cls_rbd_snap [new file with mode: 0644]