rgw: push hash calculater deeper
This might have been the culprit for #9307. Before we were calculating
the hash after the call to processor->handle_data(), however, that
method might have spliced the bufferlist, so we can't be sure that the
pointer that we were holding originally is still invalid. Instead, push
the hash calculation down. Added a new explicit complete_hash() call to
the processor, since when we're at complete() it's too late (we need to
have the hash at that point already).
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
(cherry picked from commit
d41c3e858c6f215792c67b8c2a42312cae07ece9)
Conflicts:
src/rgw/rgw_rados.h