when `ReadOp::prepare()` fails with `-ERR_NOT_MODIFIED`, it succeeded in
reading the head object for mtime and attrs like etag. make those attrs
available to RGWGetObj so we can still send ETag and other cache-related
response headers
Fixes: https://tracker.ceph.com/issues/45736
Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit
ccd241c565aa898231e4bfa4ea313c3406b55391)
Conflicts:
src/rgw/rgw_op.cc no multipart get part
read_op->params.lastmod = &lastmod;
op_ret = read_op->prepare(s->yield, this);
- if (op_ret < 0)
- goto done_err;
version_id = s->object->get_instance();
s->obj_size = s->object->get_obj_size();
attrs = s->object->get_attrs();
+ if (op_ret < 0)
+ goto done_err;
/* STAT ops don't need data, and do no i/o */
if (get_type() == RGW_OP_STAT_OBJ) {