| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
Move more files into driver/rados for better above- vs below-
the-line. Use #pragma once everywhere (versus fixing all the
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
|
|
|
|
|
|
|
|
|
|
| |
* add "std::" prefix in headers
* add "using" declarations in .cc files.
so we don't rely on "using namespace std" in one or more included
headers.
Signed-off-by: Kefu Chai <kchai@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Also rename ObjectCache::remove to ObjectCache::invalidate_remove
Since we're depending on these message types/functions having
invalidate semantics but NOT caching a negative result, rename and
leave a comment for clarity.
Fixes: https://tracker.ceph.com/issues/51674
Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
|
|
|
|
|
|
|
|
| |
So we don't have to parse the bufferlist back out to find what object
to throw out of the cache.
Fixes: https://tracker.ceph.com/issues/51674
Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit contains the following major
changes:
- Most log output lines for major ops now have
DoutPrefixProviders.
- Create new macro ldpp_subdout. This macro is meant
as a replacement for lsubdout for headerfiles that
do not define the rgw subsys.
- Changes to RGWObjManifest begin and end iterators.
- Make it so that rgw_dencoder.cc should only contain the
logic related to encoding.
Also add dpp to ldouts and lderr's already using
req_state and replace sync_env/env->dpp's with dpp's
Signed-off-by: Ali Maredia <amaredia@redhat.com>
Signed-off-by: Kalpesh Pandya <kapandya@redhat.com>
Signed-off-by: Casey Bodley <cbodley@redhat.com>
|
|
|
|
| |
Signed-off-by: Daniel Gryniewicz <dang@redhat.com>
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/rgw/rgw_auth.cc
src/rgw/rgw_auth_registry.h
src/rgw/rgw_auth_s3.h
src/rgw/rgw_bucket.cc
src/rgw/rgw_bucket.h
src/rgw/rgw_data_sync.h
src/rgw/rgw_frontend.h
src/rgw/rgw_log.h
src/rgw/rgw_main.cc
src/rgw/rgw_rados.cc
src/rgw/rgw_rados.h
src/rgw/rgw_rest_s3.h
src/rgw/rgw_rest_sts.h
src/rgw/rgw_swift_auth.h
src/rgw/rgw_user.cc
src/rgw/rgw_user.h
src/rgw/services/svc_sys_obj_core.h
|
| |
| |
| |
| |
| |
| | |
Dependency reduction
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
|
| |
| |
| |
| | |
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
|
|/
|
|
| |
Signed-off-by: Kefu Chai <kchai@redhat.com>
|
|
|
|
|
|
|
| |
This fixes a cleanup ordering issue. We can now have the chained cache
removed before and after the service is destructed.
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
|
|
|
|
| |
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
|
|
|
|
| |
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
|
|
|
|
| |
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
|
|
|
|
|
|
|
|
|
| |
This conflicts with the system assert.h so rename and change includes to
reflect the new name.
Fixes: http://tracker.ceph.com/issues/35682
Signed-off-by: Brad Hubbard <bhubbard@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
this change introduce three classes: ConfigValues, ConfigProxy and
ConfigReader. in seastar port of OSD, each CPU shard will hold its own
reference of configuration, and upon changes of settings, each
shard will be updated with the new setting in async. so this forces us
to be able to keep two set of configuration at the same time. so we
need to extract the changeable part of md_config_t out. so we can
replace the old one with new one on demand, and let different shards
share the same unchanged part, amon the other things, the Options map
and the lookup tables. that's why we need ConfigValues. we will add
a policy template for this class, so we can specialize for Seastar
implementation to allow different ConfigProxy instances to point
md_config_impl<> to different ConfigValues.
because the observer interface is still using md_config_t, to minimise
the impact of this change, handle_conf_change() and
handle_subsys_change() are not changed. but as it accepts a `const
md_config_t`, which cannot be used to create/reference the ConfigProxy
holding it, we need to introduce ConfigReader for reading the updated
setting from md_config_t in a simpler way, without exposing the
internal "values" member variable.
Signed-off-by: Kefu Chai <kchai@redhat.com>
|
|
|
|
|
|
| |
Fixes: http://tracker.ceph.com/issues/24346
Signed-off-by: Casey Bodley <cbodley@redhat.com>
|
|
|
|
| |
Signed-off-by: Kefu Chai <kchai@redhat.com>
|
|
|
|
|
|
|
|
| |
Provide the ability to examine and delete elements from the cache.
Fixes: http://tracker.ceph.com/issues/22603
Fixes: http://tracker.ceph.com/issues/22604
Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
|
|\
| |
| |
| |
| | |
rgw: do not update all gateway caches upon creation of system obj w/ exclusive flag
Reviewed-by: Casey Bodley <cbodley@redhat.com>
|
| |
| |
| |
| |
| |
| |
| | |
cache information to the other rados gateways and instead let them
lazily retrieve the information when they need it.
Signed-off-by: J. Eric Ivancich <ivancich@redhat.com>
|
| |
| |
| |
| | |
Signed-off-by: Casey Bodley <cbodley@redhat.com>
|
|/
|
|
|
|
|
| |
This is a portion of Part 1 of the namespace project: using ADL
properly in encode and decode so we can use namespaces easily in Ceph.
Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
|
|
|
|
|
|
|
|
|
| |
ObjectCacheEntry stores an lru_iter into this lru, and depends on that
iterator remaining valid as other entries are inserted/erased
Fixes: http://tracker.ceph.com/issues/22560
Signed-off-by: Casey Bodley <cbodley@redhat.com>
|
|
|
|
|
|
|
|
| |
Now when we force a refetch of bucket info it will actually go to the
OSD rather than simply using the objects in the object cache.
Fixes: http://tracker.ceph.com/issues/22517
Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
|
|
|
|
|
|
|
|
| |
We had it in the chained caches, but it doesn't do much good if
they just fetch objects out of the object cache.
Fixes: http://tracker.ceph.com/issues/22517
Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
|
|
|
|
|
|
| |
This should get us better look up speeds.
Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
|
|
|
|
|
|
|
|
|
| |
Do not use std::list for the LRU.
And really don't cons up a std::list just to pass a variable number of
arguments to a function. (Use initializer_list instead.)
Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
|
|
|
|
|
|
|
|
| |
above the rgw_cache_lru_size limit
Fixes: http://tracker.ceph.com/issues/22410
Signed-off-by: Mark Kogan <mkogan@redhat.com>
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| | |
rgw: fix a bug in rgw cache in delete_system_obj and get_system_obj.
Reviewed-by: Matt Benjamin <mbenjami@redhat.com>
Reviewed-by: Orit Wasserman <owasserm@redhat.com>
Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
Reviewed-by: Amit Kumar <amitkuma@redhat.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Cache's key is generated by function normal_name(bucket,oid), and these
two parameters are generated by function normalize_bucket_and_obj. But in
delete_system_obj and get_system_obj it doesn't work like that. In other
place ,like put_system_obj_impl, keys are always generated in that way.
Signed-off-by: Zhang Shaowen zhangshaowen@cmss.chinamobile.com
|
| |
| |
| |
| | |
Signed-off-by: Casey Bodley <cbodley@redhat.com>
|
|/
|
|
|
|
|
|
| |
key name.
Fixes: http://tracker.ceph.com/issues/19372
Signed-off-by: Zhang Shaowen <zhangshaowen@cmss.chinamobile.com>
|
|\
| |
| |
| |
| | |
rgw: remove redundant codes in rgw_cache.h
Reviewed-by: Casey Bodley <cbodley@redhat.com>
|
| |
| |
| |
| | |
Signed-off-by: lihongjie <lihongjie@cmss.chinamobile.com>
|
|/
|
|
| |
Signed-off-by: liuchang0812 <liuchang0812@gmail.com>
|
|
|
|
|
|
|
|
| |
Use rgw_obj_index_key to represent entries in bucket index (typedef of
cls_rgw_obj_key). Get rid of RGWObjEnt, it was duplicate of rgw_bucket_dir_entry
anyway.
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
|
|
|
|
|
|
|
|
| |
Pools are represented by rgw_pool (and not rgw_bucket anymore),
and we use rgw_raw_obj to reference rados objs and all 'system'
objects (vs rgw_obj that is used for rgw objects).
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
|
|
|
|
| |
Signed-off-by: Yan Jun <yan.jun8@zte.com.cn>
|
|
|
|
| |
Signed-off-by: Yan Jun <yan.jun8@zte.com.cn>
|
|
|
|
| |
Signed-off-by: Yan Jun <yan.jun8@zte.com.cn>
|
|
|
|
|
|
|
|
| |
replace time_t, and some utime_t with ceph::real_clock. Use new
librados interfaces to stat() and set mtime.
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
|
|
|
|
|
|
|
|
|
| |
Fixes: #14678
When creating the system object we can easily also get the object's meta, so
keep it in the cache.
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
|
|
|
|
| |
Signed-off-by: Orit Wasserman <owasserm@redhat.com>
|
|
|
|
| |
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
|
|
|
|
|
|
|
|
|
| |
Make sure cache operations are being done on system objects.
Separate calls where needed to make sure that separate pool/bucket
handling is done correctly. When separating calls, don't use objv_tracker
for data objects, don't use data constructs for system objects.
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Disable and invalidate cache on watch error, then reinitialize watch,
reenable cache.
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
Conflicts:
src/rgw/rgw_cache.h
src/rgw/rgw_rados.cc
src/rgw/rgw_rados.h
|
|
|
|
|
|
|
|
|
|
| |
Note that we don't really use it fully, yet. The main semantic change
here is that we have to explicitly ack the notify.
However, still missing is re-registration of the watch if we see a failure,
and ignoring the cache if watch_check tells us the watch is stale.
Signed-off-by: Sage Weil <sage@redhat.com>
|
|
|
|
|
|
|
| |
Align the RGWCache method with the RGWRados method. Also, don't use obj
head removal objclass call, as it's for data objects, not metadata.
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
|
|
|
|
|
|
|
|
| |
Originally this was get_obj(), but in the cleanup work this was changed
to get_system_obj() with somewhat different params. Updated cache to use
new interface.
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
|