]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
osdc/Objecter: invalidate crcs on preallocated rx buffers 29248/head
authorIlya Dryomov <idryomov@gmail.com>
Wed, 20 Feb 2019 21:30:29 +0000 (22:30 +0100)
committerNathan Cutler <ncutler@suse.com>
Wed, 28 Aug 2019 07:52:47 +0000 (09:52 +0200)
commit2baebe510d3048280ada9ba0b0700b3ab1bfbbeb
tree3cdf60d7a20210658e6e7fad14cccbe1ef07765c
parentc029d412bfa18fc31b6dbd000424400e757fc6bf
osdc/Objecter: invalidate crcs on preallocated rx buffers

Both simple and async messengers use c_str() when copying the data from
the socket into the receive buffer, going behind bufferlist's back.  If
the receive buffer is preallocated, we need to invalidate its crc cache
by hand to avoid possible data crc mismatches on the client side.

Fixes: https://tracker.ceph.com/issues/38416
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
(cherry picked from commit 3eeab975b604d9fc4290747f85a78d59a2452c2e)

Conflicts:
src/test/librados/io_cxx.cc
- In master, 3730d10623650ce8569be96b28cbba599a9a0db6 renamed this file from
  src/test/librados/io.cc but that commit is not being backported to luminous.
  Manually cherry-picked the test mods into src/test/librados/io.cc.
src/osdc/Objecter.cc
src/test/librados/io.cc