rgw: define a hierarchy of basic type headers
Defines a hierarchy of "simple" data types ensured to be
safe to include in any context above the zipper line, and
also from CLS.
The following headers are currently defined to contain basic
types only:
rewrite src/rgw/rgw_basic_types.h (70%) // includes the whole hierarchy
create mode 100644 src/rgw/rgw_acl_types.h
create mode 100644 src/rgw/rgw_bucket_types.h
create mode 100644 src/rgw/rgw_obj_types.h
create mode 100644 src/rgw/rgw_placement_types.h
create mode 100644 src/rgw/rgw_pool_types.h
create mode 100644 src/rgw/rgw_quota_types.h
create mode 100644 src/rgw/rgw_user_types.h
create mode 100644 src/rgw/rgw_zone_types.h
This commit consolidates the following original commits:
* rgw: move RGWUploadPartInfo to rgw_basic_types.{h,cc}
* rgw: move rgw_obj_key to rgw_basic_types.{h,cc}
* rgw: move rgw_placement_rule to rgw_basic_types.{h,cc}
* rgw: move rgw_obj to rgw_basic_types.{h,cc}
* rgw: include rgw_compression_types.h in rgw_basic_types.{h,cc}
* rgw: move rgw_raw_obj to rgw_basic_types.{h,cc}
* rgw: rgw_multi.h: remove unused RGWMPObj forward decl
and the following cleanups from review:
* rgw: remove stray comments
* rgw: move rgw_obj_manifest.h inclusion to top of rgw_basic_types.h
* rgw: nit: indentation
* rgw: remove this line
* rgw: move rgw_bucket_shard to rgw_bucket_types.h, cleanup
* rgw: fix rgw_quota.h
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
Signed-off-by: Daniel Gryniewicz <dang@redhat.com>
(cherry picked from commit
c30449b35b5151f0da54cf0cfa59b9d7b8050314)
Conflicts:
src/rgw/driver/rados/rgw_user.cc (different file location,
necessary changes already there)
src/rgw/rgw_basic_types.h (rgw_bucket_key, rgw_bucket: had to remove manually,
no idea why automatic merge failed,
the structs seem the same)
src/rgw/rgw_common.h (missing comment about RGWObjVersionTracker:
had to remove rgw_raw_obj manually;
rgw_obj: had to remove manually,
no idea why automatic merge failed,
the structs seem the same)
src/rgw/rgw_quota.h (struct RGWQuota missing)
src/rgw/rgw_zone.h (different file location,
struct RGWZonePlacementInfo v8 vs v7,
struct RGWZone v7 vs v8)
src/rgw/rgw_zone_features.h (zone features not available)