]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
osd/PrimaryLogPG: rebuild attrs from clients 22960/head
authorSage Weil <sage@redhat.com>
Wed, 4 Jul 2018 19:19:04 +0000 (14:19 -0500)
committerPrashant D <pdhange@redhat.com>
Tue, 10 Jul 2018 07:24:16 +0000 (03:24 -0400)
commit4996841504c35f25fb05f45aa09e929af970ced7
tree8d941d30bb5a2e3031fcd9d8e9584d0c8f2b8b42
parent4ed78ecf2f27aae1e9eb27f83611285ec7445ebd
osd/PrimaryLogPG: rebuild attrs from clients

Ensure that buffers coming in via client ops are rebuilt before populating
the PGTransaction.  This ensures that we don't pin the raw buffers for
the entire incoming message in memory.

In the past we've addressed this issue at the ObjectStore layer, but we
did not consider the attr_cache in ObjectContext.  Rebuilding the buffers
at this point will sanitize any incoming attribute before it reaches
either PGBackend or ObjectContext object_cache or the ObjectStore
implementation.

Fixes: http://tracker.ceph.com/issues/24768
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 0a0f8d5e6fa8276f06a9b7a7b18ea6f15fa8cb86)
src/osd/PGTransaction.h