rgw: bucket index log trim

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
rgw: datalog trim

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
ceph_json: dump timestamp in utc

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
rgw: implement metadata hander for buckets data

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
armor: don't break lines by default

Added a new function that breaks the lines, but by default
don't do it.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
rgw: bucket metadata operations go through metadata handler

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
rgw: don't handle ECANCELLED anymore

Simplify, remove obsolete logic.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
rgw: metadata handler for bucket set_attr operations

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
rgw: rados->set_attr() just calls rados->set_attrs()

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
rgw: op->PutACLs uses the correct set_attr for buckets

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
rgw: cache obj version

Also keep bucket objv_tracker on the request state.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
rgw: read bucket metadata before writing it

In order to keep track of version.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
rgw: slightly simplify metadata abstraction

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
rgw: tie bucket/user removal to mdlog differently

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
rgw: json_encode json a bit differently

Encode map as a list, it's a more friendly representation.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
ceph_json: fix bool decoding

"false" means false.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>