Skip to content

Commit b4b1868

Browse files
committed
rgw/http/client-side: disable curl path normalization
test_multi.py:test_object_sync is updated to reproduce the issue. Without the fix, objects "." and ".." are not replicated and the test fails (times out). Fixes: https://tracker.ceph.com/issues/64366 Signed-off-by: Oguzhan Ozmen <[email protected]>
1 parent bab43e8 commit b4b1868

File tree

2 files changed

+4
-1
lines changed

2 files changed

+4
-1
lines changed

src/rgw/rgw_http_client.cc

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -591,6 +591,8 @@ int RGWHTTPClient::init_request(rgw_http_req_data *_req_data)
591591
curl_easy_setopt(easy_handle, CURLOPT_READFUNCTION, send_http_data);
592592
curl_easy_setopt(easy_handle, CURLOPT_READDATA, (void *)req_data);
593593
curl_easy_setopt(easy_handle, CURLOPT_BUFFERSIZE, cct->_conf->rgw_curl_buffersize);
594+
curl_easy_setopt(easy_handle, CURLOPT_PATH_AS_IS, 1L);
595+
594596
if (send_data_hint || is_upload_request(method)) {
595597
curl_easy_setopt(easy_handle, CURLOPT_UPLOAD, 1L);
596598
}

src/test/rgw/rgw_multi/tests.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -612,7 +612,8 @@ def test_object_sync():
612612
zonegroup_conns = ZonegroupConns(zonegroup)
613613
buckets, zone_bucket = create_bucket_per_zone(zonegroup_conns)
614614

615-
objnames = [ 'myobj', '_myobj', ':', '&' ]
615+
objnames = [ 'myobj', '_myobj', ':', '&', '.', '..', '...', '.o', '.o.']
616+
616617
content = 'asdasd'
617618

618619
# don't wait for meta sync just yet

0 commit comments

Comments
 (0)