]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
rgw/d4n: handling special characters in object names such that
authorPritha Srivastava <prsrivas@redhat.com>
Thu, 5 Sep 2024 06:31:11 +0000 (12:01 +0530)
committerPritha Srivastava <prsrivas@redhat.com>
Mon, 21 Apr 2025 04:04:07 +0000 (09:34 +0530)
commitbdb32532956edf240a2c11730c1ce0dfacf20616
tree91ef8b8d450467fe5c280e99f5fc65dbd6930e83
parenta2a101ef49eed2d8256df61351e99823be08bdf6
rgw/d4n: handling special characters in object names such that
parsing file names while restoring data from cache does not result
in errors.

1. Introduce a new delimiter # instead of _ for concatening bucket_id,
objectname etc to create a key, because "_" is a valid char in object names
and is not encoded and results in incorrect values while parsing filenames
for restorin data.
2. url encode the bucket id, version and object name before all are concatenated
to form a key
3. url_decode the bucket id, version and object name after parsing the filename
from cache while restoring data back.

Signed-off-by: Pritha Srivastava <prsrivas@redhat.com>
src/rgw/driver/d4n/d4n_policy.cc
src/rgw/driver/d4n/rgw_sal_d4n.cc
src/rgw/driver/d4n/rgw_sal_d4n.h
src/rgw/rgw_cache_driver.h
src/rgw/rgw_ssd_driver.cc