]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
test/ceph_test_rados: fix seeking over virtual, in-memory objects
authorRadoslaw Zarzynski <rzarzyns@redhat.com>
Thu, 28 Mar 2024 13:28:11 +0000 (13:28 +0000)
committerRadosław Zarzyński <rzarzyns@redhat.com>
Mon, 3 Jun 2024 12:52:31 +0000 (14:52 +0200)
commitc83acfa360c0b76c10de94d038c3a211c903607c
tree8b5a59d5a88729f573501e6de6236d9c784d1a66
parentacf9f8e0caeba850e65bfe796119ad9ba306d4b7
test/ceph_test_rados: fix seeking over virtual, in-memory objects

`ceph_test_rados` maintains a database of in-memory pseudo-objects
that are used to dynamically 1) generate content for writing into
RADOS objects and 2) regenerate it later when comparing buffers of
completed RADOS reads.

Content of these objects is ephemeral; to preserve space we store
only starting parameters for a pseudo-random number generator.

However, this memory optimization requires strict management of
calls to the PRGN. Unfortunately, adding partial reads support has
unveiled a bug in this aspect: `ObjectDesc::iterator::seek()` was
missing a call to underlying `RandGenerator::iterator_impl::seek()`,
resulting in mismatches on read buffer validation.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
src/test/osd/Object.h