]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
rgw: fix shutdown crash in RGWAsyncReadMDLogEntries 37463/head
authorCasey Bodley <cbodley@redhat.com>
Fri, 29 May 2020 16:31:16 +0000 (12:31 -0400)
committerNathan Cutler <ncutler@suse.com>
Tue, 29 Sep 2020 15:58:48 +0000 (17:58 +0200)
commit55a979cf9af45db944ed51879869553d37e71d62
tree37ad4a061ee2391f1490f15c25be2935a91f518b
parenta3363c736f9076fa329a9aaff25ea82b817b5115
rgw: fix shutdown crash in RGWAsyncReadMDLogEntries

RGWAsyncReadMDLogEntries must not store pointers into coroutine memory,
because it's not guaranteed to outlive our call. store these by-value
instead, and have RGWReadMDLogEntriesCR::request_complete() copy/move
them back on completion

Fixes: https://tracker.ceph.com/issues/45771
Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit 13bf06dbe961132ca99f470ac026674e45fecc38)

Conflicts:
src/rgw/rgw_sync.cc
- difference in RGWAsyncReadMDLogEntries() argument list: in nautilus,
  "rgw::sal::RGWRadosStore *_store" becomes just plain "RGWRados
  *_store"
src/rgw/rgw_sync.cc