In rgw_dir_suggest(), the ceph::timespan tag_timeout is intended
to be a value in seconds, but has been taken as something much
smaller (millis?). The incorrect time scale likely induces a race
condition with object deletes.
Fixes: http://tracker.ceph.com/issues/20380
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
return rc;
}
- timespan tag_timeout(header.tag_timeout ? header.tag_timeout : CEPH_RGW_TAG_TIMEOUT);
+ timespan tag_timeout(
+ std::chrono::seconds(
+ header.tag_timeout ? header.tag_timeout : CEPH_RGW_TAG_TIMEOUT));
bufferlist::iterator in_iter = in->begin();