sal is overloaded. sal::Bucket
/Object
act as:
- backend storage interfaces,
- handles to generic state, and
- names
early in request processing, we construct s->object
and s->bucket
with just their names, leaving other state uninitialized until later.
there's no explicit way to know whether a handle is initialized yet.
struct rgw_bucket_key
and rgw_obj_key
should be used instead to represent the names
the generic state in sal::StoreBucket
/StoreObject
could be separated from sal entirely