]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw/http/client-side: disable curl path normalization 56958/head
authorOguzhan Ozmen <oozmen@bloomberg.net>
Tue, 13 Feb 2024 16:40:38 +0000 (11:40 -0500)
committerCasey Bodley <cbodley@redhat.com>
Wed, 17 Apr 2024 15:28:32 +0000 (11:28 -0400)
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 <oozmen@bloomberg.net>
(cherry picked from commit b4b1868a0047890ada2c8b39c3a932ae51255714)

src/rgw/rgw_http_client.cc
src/test/rgw/rgw_multi/tests.py

index 587b33d04780db0b096ab725341809ebcc1a5976..a1873586b013f914bc692d361f76f52e7da9bcc3 100644 (file)
@@ -591,6 +591,8 @@ int RGWHTTPClient::init_request(rgw_http_req_data *_req_data)
   curl_easy_setopt(easy_handle, CURLOPT_READFUNCTION, send_http_data);
   curl_easy_setopt(easy_handle, CURLOPT_READDATA, (void *)req_data);
   curl_easy_setopt(easy_handle, CURLOPT_BUFFERSIZE, cct->_conf->rgw_curl_buffersize);
+  curl_easy_setopt(easy_handle, CURLOPT_PATH_AS_IS, 1L);
+
   if (send_data_hint || is_upload_request(method)) {
     curl_easy_setopt(easy_handle, CURLOPT_UPLOAD, 1L);
   }
index 5e798fa1454738a89e271bb1f2d76cf24f1cc49e..f0b36865ed1c5afbd7c22bcb1c70fce85d04b0e2 100644 (file)
@@ -770,7 +770,8 @@ def test_object_sync():
     zonegroup_conns = ZonegroupConns(zonegroup)
     buckets, zone_bucket = create_bucket_per_zone(zonegroup_conns)
 
-    objnames = [ 'myobj', '_myobj', ':', '&' ]
+    objnames = [ 'myobj', '_myobj', ':', '&', '.', '..', '...',  '.o', '.o.']
+
     content = 'asdasd'
 
     # don't wait for meta sync just yet